首页 > 其他分享 >Verilog - 串口命令封装(多个命令封装为1个命令)代码

Verilog - 串口命令封装(多个命令封装为1个命令)代码

时间:2024-09-16 10:19:43浏览次数:15  
标签:cnt 封装 cfg 命令 计数器 adc 串口 data reg

串口命令封装,代码实现思想:
1. 对接收的串口数据(8bit)进行移位
2. 识别封装命令,输出配置使能信号
3. 计数(计数器cnt),使计数时间大于一个命令的配置时间,当达到计数值cnt_x时,输出有效信号并对计数器清零
4. 输出flag信号:开始配置时,将flag信号拉高,配置完成后拉低
5. 计数(计数器cnt_case),当flag为高电平,并且计数器达到计数值cnt_x时,对计数器cnt_case进行加1
6. 当flag为高电平时,对不同的case值,输出不同的命令


module command_package
(
    input                  clk            ,///25M系统时钟
    input                  rst_n          ,
    input     [7:0]        rx_data        ,
    input                  rx_int         ,
 
    output   reg           o_adc_cfg_init_data_en    ,//配置ADC初始化数据
    output   reg [23:0]    o_adc_cfg_init_data        //配置ADC初始化数据使能信号

);


 reg  [127:0]         s_data_buf                    ;  // 定义命令位数16*8你epldwr 0x10 0x10
 reg  [ 7:0]          s_data                        ;  //数据reg

 reg [2:0]        rx_int_dly                        ;


 parameter  cnt_250      =1250000   ;//计数为250
 reg    s_adc_cfg_en                ;//配置ADC串口命令初始信号
 reg    cnt_adc_cfg_250_vld         ;
 reg [21:0]  cnt_adc_cfg_250        ;//计数器,每25个时钟进行清零
 reg [4:0]  cnt_adc_cfg_case        ;//计数器,每25个时钟进行计数
   
 reg    s_adc_cfg_start             ;//开始判断执行case语句信号
// reg    s_adc_cfg_vld             ;//输出ADC数据 

标签:cnt,封装,cfg,命令,计数器,adc,串口,data,reg
From: https://blog.csdn.net/qq_19000141/article/details/142299468

相关文章

  • Java入门:09.Java中三大特性(封装、继承、多态)01
    1封装面向对象的三大特征:封装,继承,多态。封装可以从三个层面理解将属性和方法组合在一起(封闭在一起)将属性隐藏起来,对外提供可以间接操作属性的方法。(提高程序设计安全性)目前我们都是属性私有化,并提供与之对应的get和set方法封装应用工具,为其他的程序员提供......
  • 使用 csharp获取串口 的 全称
    使用的命名控件usingSystem.Management;代码点击查看代码///<summary>///获取串口的全称///</summary>///<returns></returns>publicstaticList<string>GetCompleteNameOfSerialPort(){List<string>serial_port_result=newList&......
  • 帝国cms配置数据库命令是什么
    帝国CMS本身并不是通过命令行来配置数据库的,而是通过编辑配置文件来设置数据库连接信息。配置文件通常位于/e/config/config.php(对于帝国CMS7.0及之后的版本)或/e/class/config.php(对于早期版本)。在这些配置文件中,你需要手动编辑数据库连接参数。以下是配置文件中数据库连接信息......
  • 记录工作中常用到的linux 命令
    sudoreboot        重启机器sudovim/etc/rc.local修改自启动文件./                  代表目前所在的目录。../                 代表上一层目录。/                   代表根目录cd..     ......
  • 串口通信-stm32
    【实验目的】深入理解串口协议和串口程序编制方法;【实验要求】1.学会编写串口通信程序2.能够使用按键控制通信消息的发送2.学会在两块开发板之间通信的方式【实验内容】1.将开发板和PC机串口连接,并通过串口线和另一块开发板连接;2.在发送开发板上按下发送键,则向目标开发......
  • 痞子衡嵌入式:JLink命令行以及JFlash对于下载算法的作用地址范围认定QN
    大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家分享的是JLink命令行以及JFlash对于下载算法的作用地址范围认定。最近痞子衡在给一个RT1170客户定制一个InfineonMirrorBit类型64MBFlash的SEGGER下载算法,做完之后在JFlash下测试小数据下载没有问题,但......
  • linux 操作系统下的compress命令介绍和使用案例
    linux操作系统下的compress命令介绍和使用案例compress命令是Linux系统中用于文件压缩的一个工具,主要使用Lempel-Ziv-Welch(LZW)算法进行数据压缩。压缩后,文件的扩展名将变为“.Z”。虽然compress命令在历史上有其重要性,但在现代Linux系统中,它已经被更高效的压缩工具如gzip......
  • linux 操作系统下cp命令介绍及案例应用
    linux操作系统下cp命令介绍及案例应用cp命令是Linux操作系统中用于复制文件和目录的基本命令。它的功能强大,适用于各种文件管理任务cp命令概述基本语法:bashcp[options]<source><destination>功能:复制单个文件或多个文件到指定位置。递归复制目录及其内容。选项可......
  • 常见的Git命令
    Git是一个广泛使用的版本控制系统,它允许你跟踪和协调代码更改。以下是一些常见的Git命令,这些命令覆盖了日常使用中的大部分场景:初始化仓库gitinit:在当前目录下创建一个新的Git仓库。配置用户信息gitconfig--globaluser.name"YourName":设置全局用户名。gitconfig--glob......
  • Linux相关命令的使用
    一、压缩和归档的命令1.1压缩和解压缩操作对象是单个文件压缩方式:gzip--->.gzbzip--->.bz2xz--->.xz上是三种压缩方式:压缩率依次递减,压缩速率依次递减。gzipfile//将文件file按gzip格式进行压缩//压缩之后原文件就不存在了,只留下名为file.gz的压缩后......