基于串口的虚拟示波器模块功能介绍
|
模块名
|
模块功能
|
Uart_Byte_Rx
|
串口字节接收模块,负责进行PC机发送指令数据的接收工作;
|
CMD
|
串口指令解析与控制模块,该模块通过解码PC机发送的指令数据序列,获取控制命令,转换为Memory Mapped Master总线,以实现上位机通过串口控制下位机(FPGA)中各模块寄存器的功能;
|
Sample_Ctrl
|
ADC采样速率控制模块,该模块通过控制使能ADC采数的速率来调整ADC的采样率;
|
UART_Byte_Tx
|
串口字节发送模块,该模块负责将需要发送的字节数据通过UART协议发送出去(发送到上位机)
|
UART_Tx_Ctrl
|
串口发送控制模块,根据数据有效标志信号来控制串口发送模块将数据出去
|
tlc549_Driver
|
TLC549模数转换(ADC)芯片驱动模块,负责驱动TLC549进行模数转换,并将转换结果以字节格式输出。
|
DDS
|
DDS信号发生器模块,该模块生成一个固定频率的正弦波,在没有外部信号发生器的情况下,可通过该模块生成正弦波,并将输出数据接入到采样部分,以模拟采集正弦波信号并在上位机显示
|
Mux1
|
AD采集结果和DDS数据结果多路选择模块,在测试时,用户可以选择需要采样的数据为内部信号发生器生成的正弦波数据(供演示用)或者ADC采集到的电压结果(实际测试)
|
Mux2
|
AD采集结果和DDS数据结果有效标志信号选择多路器,在ADC和DDS都处于工作的状态下,通过该多路器来实现数据有效标志信号的选择
|
normal_keys_detect
|
独立按键消抖模块,通过该模块来实现AD数据和DDS数据的切换,即在演示和实际测试中进行切换。
|
基于串口的虚拟示波器端口和信号介绍
|
端口
|
位宽
|
端口功能描述
|
Clk
|
1
|
系统时钟,50M
|
Rst_n
|
1
|
全局复位,低电平复位
|
Rs232_Rx
|
1
|
串口接收引脚
|
Rs232_Tx
|
1
|
串口发送引脚
|
Key_in
|
3
|
按键输入
|
ADC_Din
|
1
|
ADC芯片数据引脚
|
ADC_Clk
|
1
|
ADC接口时钟
|
ADC_Cs_n
|
1
|
ADC芯片片选信号
|
内部信号
|
位宽
|
信号功能描述
|
Baud_Set
|
3
|
波特率选择信号,对应波特率如下:
000: 9600bps
001: 19200bps
010: 38400bps
011: 57600bps
100: 115200bps
101: 230400bps
110: 460800bps
111: 921600bps
|
Rx_Byte
|
8
|
串口接收到的字节数据
|
Rx_Int
|
1
|
串口接收字节成功标志信号,每次接收成功,此信号产生一个时钟周期的高脉冲
|
Byte_En
|
1
|
串口字节数据发送使能信号,每一次一个时钟周期的高脉冲使能一次串口字节发送。
|
Tx_Done
|
1
|
串口发送字节数据完成标志,每个字节的数据发送完成,此信号产生一个时钟周期的高脉冲
|
ADC_En
|
1
|
ADC单次转换使能信号,每一次一个时钟周期的高脉冲使能一次AD转换
|
ADC_Data
|
8
|
ADC采样结果
|
ADC_Flag
|
1
|
ADC转换结果有效标志,每次转换结果有效后,此信号产生一个时钟周期的高脉冲
|
ADC_Busy
|
1
|
ADC工作忙标志,高电平表明ADC正处于转换状态,新的转换命令将被忽略,只有当该信号为低电平时,外部控制逻辑才可触发新的转换
|
m_wr
|
1
|
主机写数据的请求,为1表明有写请求
|
m_addr
|
8
|
主机写数据的地址
|
m_wrdata
|
16
|
主机写数据
|
DDS_Data
|
8
|
DDS生成的波形数据
|
DDS_Flag
|
1
|
DDS采样使能标志,该信号由DDS采样速率控制进程产生
|
Data_Flag
|
1
|
数据有效标志(根据用户按键进行选择DDS_Flag 或ADC_Flag)
|
Data_Byte
|
8
|
串口发送字节数据
|
Data_Sel
|
1
|
数据选择信号(选择串口发送DDS_Data 或 ADC_Data),为1选择DDS_Data,为0选择ADC_Data
|
Flag_Sel
|
1
|
数据有效标志信号选择信号(选择DDS_Flag 或ADC_Flag)为1选择DDS_ Flag,为0选择ADC_ Flag
|
Key_Flag
|
1
|
按键检测成功标志信号,每次按键检测成功该信号产生一个时钟周期的高脉冲信号
|
Key_Value
|
3
|
按键检测结果
|