《【教学课件】第9章数字接口实例及分析.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第9章数字接口实例及分析.ppt(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第9 9章章数字接口数字接口实例及分析例及分析EDAEDA技术与技术与VHDLVHDL设计设计数字接口数字接口数字接口数字接口实实例例例例1STBUS1STBUS1STBUS1STBUS总线总线nST-BUS总线是一种时分复用总线,它用严格的时钟关系进行帧的定位(同步)和比特的定位(同步),这种总线在数字电路交换系统中得到了广泛的应用。各种语音、数据信息按照时分复用的方式在总线中传输、交换。数字接口数字接口数字接口数字接口实实例例例例1STBUS1STBUS1STBUS1STBUS总线总线帧时钟帧时钟信号、比特信号、比特信号、比特信号、比特时钟时钟和数据和数据和数据和数据时时序关系序关系序关
2、系序关系用户A用户B FPGATP3067TP3067 控制模块时时隙交隙交隙交隙交换实现换实现框框框框图图TP3067TP3067TP3067TP3067时时序序序序图图数字接口数字接口数字接口数字接口实实例例例例2222复接分接接口复接分接接口复接分接接口复接分接接口设计设计n数字复接的定义为将两个或多个低速数字流合并成一个高速数据流的过程、方法。它是提高线路利用率的一种有效方法。例如,我们把4路2Mbps的数据流合并成一条8Mbps的高速数据流,就是数字复接。而把高速数据流分解为多路低速数据流,就是数字分接。复复复复帧结帧结构构构构RAM1_ARAM2_ARAM选择复接 地址产生单元St
3、i1Sti2StoRAM2_BRAM1_B2M/4M2M/4M2M/4M2M/4M变换变换数字复接数字复接数字复接数字复接RAM1_ARAM2_ARAM选择选择器 地址产生单元StiSto1选择器Sto2RAM2_BRAM1_B4M/2M4M/2M4M/2M4M/2M变换变换数字分接数字分接数字分接数字分接 状态相应动作状态0Sti1写入RAM1ASti2写入RAM2ASto从RAM1B中读取数据状态1Sti1写入RAM1ASti2写入RAM2ASto从RAM2B中读取数据状态2Sti1写入RAM1BSti2写入RAM2BSto从RAM1A中读取数据状态3Sti1写入RAM1BSti2写入RA
4、M2BSto从RAM1B中读取数据数字复接状数字复接状数字复接状数字复接状态态 状态相应动作状态0Sti写入RAM1ASto1从RAM1B中读取数据Sto2从RAM2B中读取数据状态1Sti写入RAM2ASto1从RAM1B中读取数据Sto2从RAM2B中读取数据状态2Sti写入RAM1BSto1从RAM1A中读取数据Sto2从RAM2A中读取数据状态3Sti写入RAM2BSto1从RAM1A中读取数据Sto2从RAM2A中读取数据数字分接状数字分接状数字分接状数字分接状态态数字接口数字接口数字接口数字接口实实例例例例3I2C3I2C3I2C3I2C接口接口接口接口设计设计nI2C(Inter
5、IntegratedCircuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。I2C总线产生于在80年代,最初为音频和视频设备开发,如今主要在服务器管理中使用。起始和起始和起始和起始和结结束条件束条件束条件束条件I2CI2CI2CI2C总线传输总线传输及响及响及响及响应应X9241X9241X9241X9241操作操作操作操作时时序序序序X9241X9241X9241X9241操作指令操作指令操作指令操作指令 指令 指令格式I3 I2 I1 I0 P1 P0 R1 R0读WC 1 0 0 1 1/0 1/0 -写WC 1 0 1 0 1/0 1/0 -读
6、DR 1 0 1 1 1/0 1/0 1/0 1/0写DR 1 1 0 0 1/0 1/0 1/0 1/0DR-WC 1 1 0 1 1/0 1/0 1/0 1/0WC-DR 1 1 1 0 1/0 1/0 1/0 1/0All DR-WC 0 0 0 1 -1/0 1/0AllWC-DR 1 0 0 0 -1/0 1/0递增/减 0 0 1 0 1/0 1/0 -数字接口数字接口数字接口数字接口实实例例例例4UART4UART4UART4UART接口接口接口接口设计设计v通用异步收通用异步收发器器vUARTUART:(:(UniversalAsynchronousUniversalAsync
7、hronousReceiverandTransmitterReceiverandTransmitter)v典型的芯片有:典型的芯片有:Intel8250/8251,16550Intel8250/8251,16550v“串行通信串行通信”是指外是指外设和和计算机算机间使用一使用一根根数据信号数据信号线(另外需要地另外需要地线),),数据在一根数据信数据在一根数据信号号线上一位一位地上一位一位地进行行传输,每一位数据都占,每一位数据都占据一个固定的据一个固定的时间长度度串行通信串行通信串行通信串行通信物理的传输物理的传输比特同步(接收方能正确接收比特)比特同步(接收方能正确接收比特)和处理器如何沟
8、通(速率匹配、总线转换)和处理器如何沟通(速率匹配、总线转换)帧同步(接收方能正确接收帧、报文)帧同步(接收方能正确接收帧、报文)需要思考的需要思考的需要思考的需要思考的问题问题帧帧同步和比特同步同步和比特同步同步和比特同步同步和比特同步IdelIdel:空空闲状状态Start_rxStart_rx:搜索到开始位状搜索到开始位状态Edge_rxEdge_rx:采采样边沿状沿状态Shift_rxShift_rx:移位状移位状态Stop_rxStop_rx:等待停止位状等待停止位状态RxovfRxovf:错误状状态接收机状接收机状接收机状接收机状态设计态设计处处理器接口理器接口理器接口理器接口设计
9、设计(读读操作)操作)操作)操作)处处理器接口理器接口理器接口理器接口设计设计(写操作)(写操作)(写操作)(写操作)地址地址地址地址译码译码vhdlvhdlvhdlvhdl关关关关键键代代代代码码FPGA_Cs if(Data_Cpu=10100101)then Channel_ControlOne=1;-Led_ControlOne=0;else Channel_ControlOne=0;-Led_ControlOne 。when others=end case;end if;end if;end process;写操作关写操作关写操作关写操作关键键代代代代码码 process(CS_FP
10、GA,RW_mpu,Data_Cpu,EData)begin if(CS_FPGA=0)then if(RW_mpu=1)then case Address_Low(3 downto 0)is when 0000=Data_Cpu Data_Cpu Data_Cpu=ZZZZZZZZ;end case;else Data_Cpu=ZZZZZZZZ;end if;end if;end process;读读操作关操作关操作关操作关键键代代代代码码00:Register1Register1:TDataTData发送数据寄存器送数据寄存器11:Register2Register2:RdataRdata
11、接收数据寄存器接收数据寄存器 22:Register3Register3:Configure1Configure1控制寄存器控制寄存器1 133:Register4Register4:Configure2Configure2控制寄存器控制寄存器2 244:Register5Register5:InterFlagInterFlag状状态寄存器寄存器 寄存器定寄存器定寄存器定寄存器定义义比特位 定义描述D3-D0波特率选择00001200000124000010480000119600010019200010138400 D4 中断屏蔽0:关闭1:打开D5复位0:复位1:工作D7-D6 备用控制寄
12、存器控制寄存器控制寄存器控制寄存器1 1 1 1比特位定义描述D1-D0数据长度选择005比特016比特107比特118比特D2 停止位选择D3 奇偶使能0:不用奇偶1:使用奇偶 D4 奇偶选择0:奇校验1:偶校验D6-D5 接收FIFO触发门限001字节014字节108字节1114字节0:1位停止位1:2位停止位控制寄存器控制寄存器控制寄存器控制寄存器2 2 2 2 D3-D0 说明0000没有中断源0001Overrun错误(接收数据被冲掉)中断等级10010接收奇偶校验错误中断等级2 0011接收数据帧错误(格式)中断等级3 0100接收数据准备好,fifo触发门限到达中断等级4 0101四个字符时间内没有数据进入或者移出fifo超时中断中断等级40110发送fifo空中断等级5状状状状态态寄存器寄存器寄存器寄存器 CPU接接口口 控制寄存器控制寄存器 发送端发送端FIFO 接收端接收端FIFO发送时钟发送时钟接收定时接收定时波特率发生器波特率发生器状态寄存器状态寄存器RXTX实现实现框框框框图图