Jq此I.业人学颂十学位论文第lq学1553B总线接u凡伴设计4√7炙现线一卜ft一终端的传输都有1~14V范围内的线一线、峰一峰电压幅度。蔽图4-1变压器耦合的数据总线接口器4.1.2模拟收发器电路设计用过上述关于变篷器耦合和终端特性的阐述,以下就其中接收器/发送器进行电路设计,简要来说收发器是将双电平曼彻斯特码转化为单电平曼彻斯特码,以及将单电平曼彻斯特码转化为双电平曼彻斯特码。其电路如图4-2所示。H—呲隔离变压器n图4-2模拟收发器}乱路图总线}:传输的信号应是蜂一峰值在18-~27V之间的双极性信号,jWf流IU似北I业入学颧士学位论文第四章1553B总线接口艮体故计!,实科为“0”;为了满足这些要求,设计了如上圈所示的总线耦台与驱动电路。耦台驰动电路实现曼彻斯特双相电平码与rrL兼容的曼彻斯特单电平码的转换、总线阻抗的匹配、故障隔离、电压放大及衰减限幅等。此电路采用毅向检测,取路输出的方法,即曼彻斯特码双相电平码分成两路甩平比较器,限幅器转换成曼彻斯特码单相电平码进入FPGA芯片。发送器/接收器的操作波形如图4-3所示:其中tx/tx—nol为输出双极性信号,rx/rxnul为双极性曼彻斯特11码产生11L电平信号。txouLput—√_、八~VL‘柚“嚣亟盈n圈4-3模拟收发器操作波形示例图tx嚣霾酊几n几f1至遂not嚣嚣沮厂]丌n几臣亟r]几几r?州t—1八几肌“瑟瑟瑟羽nr]几n广4.2总线控制器BC设计ms,总线接口的每一种类型的终端的设计都包括模拟收发器、总线接口模块、总线控制模块、处理机接口模块四部分,都需要完成字处理和消息处理,而BC是总线上唯一被安排为执行建立和启动数据传输任务的终端,被指派启动数据总线上信息传输任务的终端。针对BC功能,其FPGA部分的逻辑结构如图4-4不。下面将结构图中的各小模块进行设计说明。42.1数字发送器f*Ⅱ珈”跏数字发送器模块可复用于三种工作方式下,在这里就BC模式下对其设讨进行详细说明,在其余两种模式下就不作细节分绍。数字发送器从子系统接IJ单元接收16位的]553B数据(指令宇和状态字),并以1Mbps曼彻斯特II编码串行数据发送到幢拟发送器进而传输到1553B总线I。孩部分即为曼彻斯特码编码,它是将单极性不归零码转换为单极性的堂铷斯特码.而且实现对同步头的编码.以及奇偶位的产生,并对数掘进行非/串转换。特码.而且实现对同步头的编码.以及奇偶位的产生,并对数掘进行非/串转换。阳北IjI:人学硕十学位论文第91【l章1553B总线接口J{体设计Io寓蠼至删控制信号刮黪熊图4-4I地址控制存罐器接【J并行通信接Lj双[RAM串行通信接LJ发送超时检测孙总线控制器内部结构图以下介绍数字发送器的实现过程:①检测编码周期是否开始,产生同步字头;②进行串/并转换,产生奇偶校验位:③对16位有效数据及奇偶位进行编码。由曼彻斯特II编码的特性可知,每位数据0或者l都编码为2位,所以脉冲宽度最小为500ns,所以发送单元所需要的最小时钟频率为2MHZ。针对不问的时钟源可通过分频电路实现2MHz。编码器的输入时钟mclk为2MHZ,选取它的发送时钟为2MHZ,同步字头产生完成,则发出控制信号开始移位,移位时钟是同步头生成时用的时钟两分频产生。由于发送单元采用的时钟是周期为500ns,即每位为500ns。同步头的长度为3000纳秒,所以同步头要用6位来表示,每位数据采用两位,奇偶校验位采用两位,所以整个1553B总线数据要用40位表示。当予系统通过FPGA的接口单元向其写入数据后,数据进入发送单元的缓存中。发送单元根据工作方式与传输消息要求形成同步头,例锄,写入命令:笋时,同步头为111000,状态字的同步头为00011l。对于这40位数据,在500ns的时钟F,每周期发送~位。当前正在发送的数据放在一个锁存器中锁存,前两‘绂有一个缓存器,发送完当前数据后,如采缓存器中有数据,则把数据取过来放入锁存器中进行发送,这样就W以实现数据的连续发送。在数掘移位完成时自动添加奇偶位,在此进行奇校验.即砖数据16位依次进行异或运算;最后避彻斯妯码综合对数据、奇偶位、同步头进行处理形成符合1553B标准的投极忭宁。其逻辑框图血u图4,5所示。荫北1+业人学硕+学侮论文第叫章t553B总线接口具钵砹;i0实现二分频!!磐!:IIm’堕2分频L-。rwrite娄龇图4.501曼彻斯特码综^—_dtype:输入的亨类掇说刳信弓一mclk:输入nj针,2MHzwrite;写控制信号,’0’有效comnd:输入的宁类型说明信寸data_in:需要编码的i6位数据输入!:=::!I主::堕¥i芝。差,器量筹誓赫熊篙茇霜信号txrdy:输出的数据发送完毕标志信号数字发送器逻辑结构图及管脚说明如图4.6是写入数据6338H时的仿真波形。图中mclk是2MHz的时钟■p—writeqP-mc|kwp-comnd∞●一dtype1nnnnnnnnnnnnnnnflnnnnnnnnn『1nfUlnn“nnnnnnfUlnnnnnnnn041000'1100111000O1●d芦d缸&-In■t■’lx01-_tx_not广]nnnnr]n几厂1几n几nr]『1广]nr]图4-6数字发送器仿真波形图lL柚txrdYnr]几几几r]几nnr]nf]r]r]rO4.2.2发送超时检测在M1L-STD一1553B标准中规定禁止发送时闻大于800微秒的消息。因为1553B总线协议标准中规定每条消息最多包含32个数据字(即命令字的后五位为”00000”),并且定义了十种类型消息格式,其中花费时潮最长的是RT向RT的消息传输:俐接收指令/发送指令/幸?/状态字/数据字…数据字/+t/状态字俐:每个字传输20us,消息间隔4us,RT响应时间最长12us,由此即可得出每条消息最长传输时『白』T=32×20+4×20+2×12+2×4=752us;发送超时检测模块要实现的功能非常简单,就是对发送的消息进行计时≯{:由计时产生的结果,来控制发送信号。它的核心是一个数字计数器,对驱动器的输出进行监控和定时,一旦它检测到正在发送的消息大于800微秒,就立即停Ij|发送,产,E发送超时信号用于系统复位。发送超时检测模块可复用于三种工作方式下.其用途是一致的,在这罩就BC摸式下对其设汁进行详细说明,在其余两种模式下就/卜作细{7介缁:,pq北1.、№人’≯颂_’学位论文第四章1553B总线接口骐休垃计IJ实现4.2.3数字接收器数字接收器即为曼彻斯特码解码,将单极性曼彻斯特码转换为单极性4i9I善码,从模拟收发器接收曼彻斯特lI编码的串行数据,实现同步时钟的提取,刚步头检出,数据检出,曼彻斯特lI码错误检出,奇偶检测,位/字计数以及数据的串/并转换功能。数字接收器模块可复用于三种工作方式下,其厚j途是~致的,在这罩就BC模武下对其设计进行详细说明,在其余阿种模式下就不作细节介耋翻。接收器的工作原理同数字发送器相反,也和UART模块类似,用状态机束实现,以下介绍数字发送器的实现过程:(1)同步时钟的提取:检测到有效同步字头后,启动全数字锁相环(于4.6节有详细介绍)开始分离时钟,此设计采用超前一滞后锁耜环,该锁耜环的相位锁定时间最大为42ns,因此在与数据进行模二加之前,应将数据进行延时。以便消除毛刺。要想完全将毛刺消除还要配合同步字头检测时,启动舵产生时间的设饕。(2)同步头的接收:接收单元的时间基准是2MHZ的输入,根据标准,州步头只可能有两种’01’,‘10’。从接收到的信号波形上看,可能出现如图4—7所示的四种情况。所以同步头的识别可分为三类情况(更特殊的情况是数据连续时,此时前一个数据的最后一位和后一个数据的同步头连在了一起,因此识别也更困难些,限于篇幅,不作介绍);按照标准,误差范围为±150ns,按图中同步头1所示,前半部分脉冲宽度是1500ns±150ns,用2MHZ的频率来采样计数的话,如果计数器的计数为3时就认为是收到了同步头的前半部分,否则,接收单元就继续检测同步头。同步头后半部分脉冲宽度为1500ns,如果计数器的计数为3时就认为是收到了同步头的后半部分。对于后3种情况同上述处理方式进行检测。.正忒.fE忑竖F。网—习同步头l同步头2图4.7.皿,哲E忑毡jf’同步头3同步头4口.R]同步头译码原理(3)数据位的接收:同理,数据位的检测也是摹本…样,从波形上看,它也会}“现和圈4.7榭似的四种情况,不过区剐是脉冲的宽度而己。(4)曼彻斯特II解码:曼彻斯特II码的特性是在每位数据脉冲的中问时别都宵个电爪跳变,所以对数据的译码可以从跳变沿可分为前后滔部分,静聒两半部分ltj能的长度都是500±150ns和1000±150ns,只耍存法范围内就可认为收刘丁{々数抓,在跳变沿的后半部分把tx瞅反就是浚位数掘的值。f而时产7卜唾状念I丸氆、
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库1553B总线接口技术研究及FPGA实现 - 图文(6)在线全文阅读。
相关推荐: