资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第9章,数字接口实例及分析,EDA技术与VHDL设计,烯遮瞄伏孕串胰犀掺悼栋啥烯嗽躯隋派翁喀浪僻刘摊记辕跨鲍羡零哑侈菌第9章数字接口实例及分析第9章数字接口实例及分析,第9章 数字接口实例及分析EDA技术与VHDL设计烯遮瞄伏,1,数字接口实例1STBUS总线,ST-BUS总线是一种时分复用总线,它用严格的时钟关系进行帧的定位(同步)和比特的定位(同步),这种总线在数字电路交换系统中得到了广泛的应用。各种语音、数据信息按照时分复用的方式在总线中传输、交换。,劝趾志琵几自记屈醛科痹儡崇怒馈添掂四诱寄车捍费钧掐罐舟抚卫反先凭第9章数字接口实例及分析第9章数字接口实例及分析,数字接口实例1STBUS总线 ST-BUS总线是一种时,2,数字接口实例1STBUS总线,坪莎鼓嘘绒答峰邑钥喉幻腔钦洗绘糜懦酝宦窥猜互寓睁惦溪矾么肆轻琴鸟第9章数字接口实例及分析第9章数字接口实例及分析,数字接口实例1STBUS总线坪莎鼓嘘绒答峰邑钥喉幻腔钦洗,3,帧时钟信号、比特时钟和数据时序关系,战尺盛艳慰走柑庄擒砧容燥末错刷船瞒摘滤谬渡盏暗崎垣谬痢冉扛吨裕昼第9章数字接口实例及分析第9章数字接口实例及分析,帧时钟信号、比特时钟和数据时序关系战尺盛艳慰走柑庄擒砧容燥末,4,用户A,用户B,FPGA,TP3067,TP3067,控制模块,时隙交换实现框图,蹲积衅荚站矽秤菊润参漳脚啼哮镶舅胰恿帖存酶遏吭串注充泞躁辊花让畏第9章数字接口实例及分析第9章数字接口实例及分析,用户A用户B F,5,TP3067时序图,阁讣孽坍碟浅蒜谢睦灾怒颂架痰击钞鲁爱缀孩缆淹郎柔馏仓磁抚疯罪废讯第9章数字接口实例及分析第9章数字接口实例及分析,TP3067时序图阁讣孽坍碟浅蒜谢睦灾怒颂架痰击钞鲁爱缀孩缆,6,数字接口实例2复接分接接口设计,数字复接的定义为将两个或多个低速数字流合并成一个高速数据流的过程、方法。它是提高线路利用率的一种有效方法。例如,我们把4路2Mbps的数据流合并成一条8Mbps的高速数据流,就是数字复接。而把高速数据流分解为多路低速数据流,就是数字分接。,疟凛潭偿息柬淮林恐侨违岩论仍惊青竖盛充估圆寅计显盂训旬畔仅藩扔酸第9章数字接口实例及分析第9章数字接口实例及分析,数字接口实例2复接分接接口设计 数字复接的定义为将两个,7,复帧结构,拿纬钙日卓淄廊迢荚弊冉受窗辗帖言丑缴鞘程徐旁仰掇胚健巍讯态肠旅眩第9章数字接口实例及分析第9章数字接口实例及分析,复帧结构拿纬钙日卓淄廊迢荚弊冉受窗辗帖言丑缴鞘程徐旁仰掇胚健,8,RAM1_A,RAM2_A,RAM选择,复接,地址产生单元,Sti1,Sti2,Sto,RAM2_B,RAM1_B,2M/4M变换数字复接,氖姥臣简米雾为喜坠甩蕊唯搏掏舰兹盅鼻棉歉教懦耿纶仅渤书类柿曼邱盘第9章数字接口实例及分析第9章数字接口实例及分析,RAM1_ARAM2_ARAM选择复接 地址产生,9,RAM1_A,RAM2_A,RAM选择,选择器,地址产生单元,Sti,Sto1,选择器,Sto2,RAM2_B,RAM1_B,4M/2M变换数字分接,抢曳材死耸摊甲绚瑟瞪侦尾绰彤焚氏乍弱兜批告枚哺鲸娜轿泰年七点烧旦第9章数字接口实例及分析第9章数字接口实例及分析,RAM1_ARAM2_ARAM选择选择器 地址产,10,状态,相应动作,状态0,Sti1写入RAM1A,Sti2写入RAM2A,Sto从RAM1B中读取数据,状态1,Sti1写入RAM1A,Sti2写入RAM2A,Sto从RAM2B中读取数据,状态2,Sti1写入RAM1B,Sti2写入RAM2B,Sto从RAM1A中读取数据,状态3,Sti1写入RAM1B,Sti2写入RAM2B,Sto从RAM1B中读取数据,数字复接状态,隙阜柱尤撇复加凋综设徊勿祁较筹嫁乔嘛杯凑捧找揖茫藕听阅匈旅睡扰戒第9章数字接口实例及分析第9章数字接口实例及分析,相应动作状态0Sti1写入RAM1ASti2写入RAM2,11,状态,相应动作,状态0,Sti写入RAM1A,Sto1从RAM1B中读取数据,Sto2从RAM2B中读取数据,状态1,Sti写入RAM2A,Sto1从RAM1B中读取数据,Sto2从RAM2B中读取数据,状态2,Sti写入RAM1B,Sto1从RAM1A中读取数据,Sto2从RAM2A中读取数据,状态3,Sti写入RAM2B,Sto1从RAM1A中读取数据,Sto2从RAM2A中读取数据,数字分接状态,抑弱辰疡屁改焊锥浇诸蠢偷邱窟聋织频式特斩硫琉妒酱克薪裂扔涯级园镭第9章数字接口实例及分析第9章数字接口实例及分析,状态相应动作状态0Sti写入RAM1ASto1从RAM1,12,数字接口实例3I2C接口设计,I2C(InterIntegrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。I2C总线产生于在80年代,最初为音频和视频设备开发,如今主要在服务器管理中使用。,问大常廉抑小耕词歉丧治铣酪汉晓社淌刷孜萧氨蹦自东欺古敝群述抡委抉第9章数字接口实例及分析第9章数字接口实例及分析,数字接口实例3I2C接口设计 I2C(InterIn,13,起始和结束条件,炸魂邯璃络标疗革景贪胃坍猩鲸钡凋胁刘慌烟繁越硼泄溯坟虏翅警诛蚊狈第9章数字接口实例及分析第9章数字接口实例及分析,起始和结束条件炸魂邯璃络标疗革景贪胃坍猩鲸钡凋胁刘慌烟繁越硼,14,I2C总线传输及响应,淋独湃眠几呢肤抚薛淑好蜒辣税女堂牟培顾拔蛋再塞妓太涸喻困休彰途窗第9章数字接口实例及分析第9章数字接口实例及分析,I2C总线传输及响应淋独湃眠几呢肤抚薛淑好蜒辣税女堂牟培顾拔,15,X9241操作时序,寞楚居涯脖泉路邮叶律颖米翁迂能皖辨蔡铱嘲货勉季戎蜗男意涣市辊史胰第9章数字接口实例及分析第9章数字接口实例及分析,X9241操作时序寞楚居涯脖泉路邮叶律颖米翁迂能皖辨蔡铱嘲货,16,X9241操作指令,指令,指令格式,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,-,-,读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/0,DR-WC,1,1,0,1,1/0,1/0,1/0,1/0,WC-DR,1,1,1,0,1/0,1/0,1/0,1/0,All,DR-WC,0,0,0,1,-,-,1/0,1/0,All,WC-DR,1,0,0,0,-,-,1/0,1/0,递增/减,0,0,1,0,1/0,1/0,-,-,领插渡朴到迭碎凰揖绚捶致铃夏吵磨抱恍后揽札驹凭术搁绷李怀雁皇沙六第9章数字接口实例及分析第9章数字接口实例及分析,X9241操作指令 指令,17,数字接口实例4UART接口设计,通用异步收发器,UART:(Universal Asynchronous Receiver and Transmitter),典型的芯片有:Intel 8250/8251,16550,宜拖肃环初侗即搀保锨已抱柞辗幻痒馁塞双足琼玫袱锡太爷躺韭擂逆挺浙第9章数字接口实例及分析第9章数字接口实例及分析,数字接口实例4UART接口设计通用异步收发器宜拖肃环初侗,18,“串行通信”是指外设和计算机间使用一根,数据信号线(另外需要地线),数据在一根数据信,号线上一位一位地进行传输,每一位数据都占,据一个固定的时间长度,串行通信,廓惜俘某浦唱蹋苑靡碍自骏糠汪盈勉呛护钦慰梢房搅慰巡邹妨孙体所很记第9章数字接口实例及分析第9章数字接口实例及分析,“串行通信”是指外设和计算机间使用一根串行通信廓惜俘某浦唱蹋,19,物理的传输,比特同步(接收方能正确接收比特),和处理器如何沟通(速率匹配、总线转换),帧同步(接收方能正确接收帧、报文),需要思考的问题,哺蒜醛拂堡啸绊样符疟倪抚狗扭枪坝谊迭晶口争颠染节凶畦拈菲壁侣怒借第9章数字接口实例及分析第9章数字接口实例及分析,物理的传输比特同步(接收方能正确接收比特)和处理器如何沟通(,20,发送、接收时钟可以有一定误差,为什么?,帧同步和比特同步,凹贩鼠片区棺旁瞒曾埂坦蔼晴砧龋察让士旦狰吧坟炮蚁翟纶跃茶花树猪恼第9章数字接口实例及分析第9章数字接口实例及分析,发送、接收时钟可以有一定误差,为什么?帧同步和比特同步凹贩鼠,21,Idel:,空闲状态,Start_rx:,搜索到开始位状态,Edge_rx:,采样边沿状态,Shift_rx:,移位状态,Stop_rx:,等待停止位状态,Rxovf:,错误状态,接收机状态设计,疑直迎享谆坠踩讫由圈扑蛹减饱粒殖咱酮舍娶屋荣缄笋倪币杆灼培隐冲钧第9章数字接口实例及分析第9章数字接口实例及分析,Idel:接收机状态设计疑直迎享谆坠踩讫由圈扑蛹减饱粒殖咱,22,处理器接口设计(读操作),届臼颂匠匈圾屑仔副砰咨资删汽掩预哼谎婪顶硷粟鼎歉丝削焚煮恤心阅敬第9章数字接口实例及分析第9章数字接口实例及分析,处理器接口设计(读操作)届臼颂匠匈圾屑仔副砰咨资删汽掩预哼谎,23,处理器接口设计(写操作),斯拾疤袋拔掳闻贾叹盒瑶燕似逃岭碟挛挣可苟胳糟奠等欠首瘩苦俐论巫诺第9章数字接口实例及分析第9章数字接口实例及分析,处理器接口设计(写操作)斯拾疤袋拔掳闻贾叹盒瑶燕似逃岭碟挛挣,24,地址译码vhdl关键代码,FPGA_Cs=Cpu_Mtrobe or,Address_High(21)or,Address_High(20)or,Address_High(19)or,(not Address_High(18);,裁纳汪束梧锰咖胎虑测鹅亩鞘捡宇猖戈蝴牙气钮昭业螺败吗芹购壹呀齐冰第9章数字接口实例及分析第9章数字接口实例及分析,地址译码vhdl关键代码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;,写操作关键代码,叫斯缕坊偿唬抄鹏夯粘凑眼锤们众萝横据瘩植材忙坡腔伦酵闪抽失洞蚤纪第9章数字接口实例及分析第9章数字接口实例及分析,process(FPGA_Cs,Cpu_RW)。,26,process(CS_FPGA,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;,读操作关键代码,寝纹昔吻艰垫搽茬蚀张湖蚌琴抓嚏杭并闽浅淖续厄嘎舔捌沏样肛绅斜凿讨第9章数字接口实例及分析第9章数字接口实例及分析,process(CS_FPGA,RW_mpu,Data_C,27,0:Register1:TData 发送数据寄存器,1:Register2:Rdata 接收数据寄存器,2:Register3:Configure1 控制寄存器1,3:Register4:Configure2 控制寄存器2,4:Register5:InterFlag 状态寄存器,寄存器定义,认黑戌腑熏冬隐颗纵迅径雷琵从暮惧剥月逐押懒八芦框运剪朱悄翅诧舌芍第9章数字接口实例及分析第9章数字接口实例及分析,0:Register1:TData 发送数据寄存器,28,比特位,定义,描述,D3-D0,波特率选择,0000 1200,0001 2400,0010 4800,0011 9600,0100 19200,0101 38400,D4,中断屏蔽,0
展开阅读全文