串行设计范文(精选12篇)
串行设计 第1篇
单片机技术作为计算机技术的一个重要分支, 由于单片机体积小, 系统运行可靠, 数据采集方便灵活, 成本低廉等优点, 在通信中发挥着越来越重要的作用。但能在一些相对复杂的单片机应用系统中, 仅仅一个单片机资源是不够的, 往往需要两个或多个单片机系统协同工作。这就对单片机通信功能的要求不断增加。因此, 单片机通信功能是否满足设计要求是设计中的一个关键问题。
单片机之间的通信可以分为两大类:并行通信和串行通信。串行通信传输线少, 长距离传输时成本低, 且可以利用电话网等现成的设备, 所以本系统采用串行通信来实现单片机之间可靠的, 有效的数据交换。
一、概述
1、系统概述
MCS-51单片机系列是Intel公司推出的功能强、速度快的8位高档单片微型计算机系列产品, 是当前工业测试系统中较理想的一种, 内部有一个可编程的全双工的串行通信口, 即串行通信和发送缓冲器 (SBUF) , 这两个在物理上是独立的接收发送器, 既可以发送数据, 也可以接收数据。全双工的串行通信只需要一根输出线 (发送数据TXD) 和一根输入线 (接收数据RXD) 。串行通信中主要有两种技术问题, 一个是数据传送, 另一个是数据转换。具体说, 在发送端, 要把并行数据转换为串行数据;而在接收端, 则要把接收到的串行数据转换为并行数据。
串行数据传送是将构成字符的每个二进制数据按一定的顺序进行传送的方式,
串行通信协议规定字符数据的传送格式如图1所示, 每个串行数据由起始位、数据位、奇偶校检位和停止位组成。本系统就是利用单片机的串行口, 以串行通信方式, 实现两单片机之间的数据交换, 信息共享。
2、方案设计
本系统利用单片机的串行口, 由软件和硬件两部分协调实现两单片机的串行数据传输。硬件电路以AT89C51单片机为核心, 外围电路包括键盘电路 (数据的输入) , 显示电路 (数据的输出) 。工作在硬件电路基础上的软件主要完成数据的输入, 存储, 显示, 发送和接收。由于两单片机相距很近, 可以直接将其串行口相连。系统整体电路图如图2所示。
3、研究方向和技术关键
本系统主要研究两单片机之间的串行数据传输, 实现两单片机之间的信息共享。将P1口连接2个键盘, 作为输入数据控制端。利用单片机的定时/计数器T1来设定P2口的数据显示, 并通过传输线把数据发送给另外一个单片机。本系统的技术关键在于准确的, 高效率的传输信息。主要技术指标: (1) 比特吞吐特性 (2) 有效性 (3) 数据的安全性
二、设计原理
此设计以AT89C51单片机为核心, 利用其内部的串行口, 通过硬件与软件相结合的方式, 实现双机的全双工的串行通信。硬件电路包括键盘电路, 显示电路, 单片机主控电路, 串行通信线和电源电路。软件包括键盘扫描程序, 显示程序, 发送程序和接受程序。发送和接收都采用
中断方式。硬件电路的组成如图3所示。
由于两个单片机应用系统相距很近, 近程通信时 (通信距离小于15米) , 可以
不使用调制解调器, 将它们的串行口直接相连就可以实现全双工的串行通信。
1、硬件设计
(1) 系统组成
下面就以1号机为例, 介绍硬件。硬件电路包括AT89C51单片机, 共阳性LED数码管以及传输线。
AT89C51是一个低电压, 低功耗, 高性能CMOS 8位单片机, 40个引脚, 32个外部双向输入/输出 (I/O) 端口, 同时内含2个外设中断口, 2个16位可编程定时计数器, 2个全双工串行通信口。AT89C51可以按照常规的方法进行编程, 也可以在线编程。片内含4k bytes的可反复擦写的Flash只读程序存储器和128 bytes的随机存取数据存储器 (RAM) , 器件采用ATMEL公司的高密度、非易失性存储技术生产, 兼容标准MCS-51指令系统。
共阳极七段LED数码管见图4所示。
(2) 单片机主控电路
AT89C51是片内有ROM/EPROM的单片机, 用其构成最小应用系统时, 只要将单片机接上时钟电路和复位电路即可。
(1) 晶振电路
AT89C51单片机的时钟信号通常有两种形式:一种是内部时钟方式, 另外一种是外部时钟方式。内部时钟方式是在单片机的XTAL1和XTAL2引脚外接石英晶体, 就构成了自激震荡并在单片机内部产生时钟脉冲信号。本设计采用内部时钟方式, 可以不受设备条件的影响。
(2) 复位电路
当在AT89C51单片机的RST引脚引入高电平并保持两个机器周期时, 单片机内部就执行复位操作。在实际应用中, 复位操作有两个基本形式:一种是上电复位, 另一种是上电与按键均有效的复位。本系统采用上电与按键均有效的复位。
开机瞬间RST引脚获得高电平, 随着电容C的充电, RST引脚的高电平将获得下降。RST引脚的高电平只能保持足够的时间 (2个机器周期) , 单片机就可以进行复位操作。另外在单片机运行期间, 还可以利用按键完成复位操作。
(3) 键盘电路
按键实际上就是简单的开关, 当按键按下时, 相当于开关闭合;当按键松开时, 相当于开关断开。操作员通过键盘输入数据或命令, 实现简单的人机对话。
按键有独立式按键和行列式按键。独立式按键的各个按键相互独立, 每一个按键独立地与一根数据输入线相连。独立式按键配置灵活, 软件结构简单, 但每个按键必须占用一根口线, 在按键数量多时, 口线占用多。所以, 独立式按键常用于按键数量不多的场合。由于此系统所用的按键较少, 故选用独立式按键。
(4) 显示电路
显示器是单片机应用系统常用的设备, 主要包括LED和LCD。LED显示器由若干个发光二极管组成。当发光二极管导通时, 相应的一个笔画或一个点就发光, 控制相应的二极管导通, 就能显示出对应字符。七段LED通常构成字型“8”, 还有一个发光二极管用来显示小数点。由于LED显示器成本低廉, 配置灵活, 并且与单片机接口方便, 所以本系统选用七段LED显示器 (共阳极) 。
(5) 总体硬件电路图
本设计总体硬件电路图如图5所示。
2、系统软件设计
(1) 总体方案
此系统欲实现双机的全双工的串行通信。甲乙两机的内部软件是完全相同的, 1号机和2号机都能发送和接收数据信息, 能同时进行数据交换。
假设1号机为发送方, 2号机为接收方。当按下发送按键时, 1号机开始发送数据, 存储在R7中并通过显示器显示。按下2号机的接收按键, 2号机开始接收数据, 每接收一个数值就直接送到显示器显示。本设计通过键盘输入数据。利用软件控制键盘进行加1或者减1操作, 可以使其输入0~F之间的任意一个数。
(2) 模块说明
(1) 串行口工作方式
单片机的串行通信口是可编程的, 在工作之前应该初始化, 对它初始化编程只需将两个控制字分别写入特殊功能寄存器SCON[98H]和电源控制寄存器PCON[97H]即可。
串行控制寄存器SCON是一个特殊功能寄存器, 用以设定串行口的工作方式、发送/接收控制以及设置控制状态标志。字节地址为98H, 可进行位寻址, SM0和SM1 (SCON.7和SCON.6) :串行口工作方式选择位, 可选择4种工作方式 (见表1)
本系统采用串行口方式1 (SM0置0, SM1置1) 进行通信, 一帧信息为10位, 其中有1个起始位, 8个数据位和1个停止位。
(2) 中断口设定
AT89C51单片机有5个中断源, 在应用之前应该初始化。
本系统用到外部中断, 外部中断, 作为发送中断, 入口地址是0003H。当此键按下, 转到中断服务程序 (执行发送程序) 。作为接收中断, 入口地址是0013H。当此键按下, 转到中断服务程序 (执行接收程序) 。
中断控制寄存器TCON中IT0位, IT1位应置0, 采用电平触发方式。中断允许控制寄存器IE中EX0、EX1、ES位应置1, 允许中断。
(3) 键盘工作设定
本系统采用独立式按键结构。对于是否有按键按下的信息输入方式有中断方式和查询方式, 本系统采用查询方式。
本系统的键盘控制程序分为以下几个部分:
(1) 判断有无键按下;
(2) 用软件编程的方式控制键盘的输入数值;
(3) 可靠的逻辑处理方法。
(4) 显示工作设定
显示程序用查表法显示, 七段数码管 (共阳性) 显示段选码如表2所示。
三、调试
本设计采用软件和硬件结合的方式进行串行数据传送。在电路板检查完好的前提下, 重在软件的调试。程序写好后, 用Keil C编译软件进行编译检查, 没有语法错误。再用Keil C调试软件对程序进行单步运行, 通过各窗口观察程序每一步的执行结果, 程序工作正常, 程序调试结束。
四、结论
一种多协议串行通信接口的设计方法 第2篇
摘要:文章对多种协议串行通信进行了分析与讨论,给合Linear公司生产的多协议串口芯片,针对传统串口通信实现中的问题以及实际的广域网串行通信的需求,提出了一种多协议串行接口的设计实现方法。
关键词:多协议串口通信;通信协议; 收发器;连接器; 多协议串口芯片 LTC1546/LTC1544
随着通信网技术的进一步发展,越来越多的互连网设备(如路由器、开关、网关、存取装置)中的串行接口在广域网(Wide Area Network)中被设计成能够支持多种物理接口协议或标准。广域网串行口协议包括RS-232,RS-449,EIA-530,V.35 ,V.36以及X.21等。图1所示是一个简单的串行通信接口示意图。由图可知,实现多协议串口通信的关键是将连接器送来的不同传输方式?平衡、非平衡?和不同电气信号通过收发器转换为终端能够识别并处理的、具有TTL电平的信号。
1 传统多协议通信的特点和问题
1.1 “子板”方式
广域网串口应用中的通用实现方法是为所需的每一种物理协议提供一个独立的子板。一个支持EIA-232,EIA-449及V.35协议的系统,通常需要三个独立的子板以及三个不同的连接器。这种方法由于每种协议要求配置一块子板,因此系统需要对PCB子板、收发器芯片、连接器等进行管理,这样既浪费资源,又会使管理工作复杂化。
(本网网收集整理)
1.2 通用连接器方式
为解决“子板”方式的缺点,可使用一块母板及通用连接器。一个母板上有多种收发器芯片,可以满足多串口协议的要求,并可共用一些通用器件,同时可减少资源的浪费。在配置中,应注意因连接器的管脚较少而带来的问题,较好的办法是根据信号而不是根据协议来分配管脚,即给每一个信号分配一个通用管脚,而不管其物理协议如何定义。如对EIA-232,EIA-449,EIA-530,V.35和V.36来说,其TxD信号可连至连接器相同的管脚。即SD?a?信号连接到管脚2,SD?b?信号连接到管脚14。然后利用这对管脚来描述所有协议的发送信号TxD。
这种方法同样也会带来一个问题,即所有收发器的I/O线至通用连接器的管脚必须彼此共用。例如,一个V.28驱动器芯片中的发送数据信号线的接连接器DB-25的管脚2;同时,一个V.11驱动器芯片中的发送数据信号线要接至连接器的管脚2和14;而V.35驱动器芯片中发送数据信号线也会接至连接器的管脚2和14。这样,通用连接器的管脚2将同时接有三根信号线,管脚14接有两根信号线。这样,在这一配置中,所有的驱动器都必须具有三态特性,以禁止不必要的输出。若收发器没有三态特性,则需要使用一个多路复用器来选择相应的输出端。由此带来的另一个问题是收发器在禁止使用时会产生漏电电流。如果选择了V.28协议,其输出电压理论值为15V。此时对于V.11协议的驱动器会被禁用,而处于三态时,其输出漏电电压就必须足够低,才能使得连在同一连接器管脚的V.28协议的驱动器信号不受影响。如果在发送器与接收器之间有隔断开关,则开关也要考虑漏电情况。
1.3 串口的DTE/DCE模式切换
DTE/DCE的`切换可通过选择不同的连接器转换电缆来实现,这样,在实现DTE/DCE转换时可最大程度地减小收发器的复杂性,但缺点是需要更换电缆,尤其是设备放置位置不便或DTE/DCE需要频繁切换时这一点尤为突出。
如果保持传输电缆不变,则可将收发器配置为两套以分别支持DTE、DCE方式。而将DTE收发器的驱动器输出与DCE收发器的接收器输入相连,而将接收器输入端与DCE收发器的驱动器输出相连。为了控制DTE或DCE方式,驱动器或接收器的输出必须为三态。当选择为DTE方式时,DCE芯片禁止,其驱动器和接收器处于三态,反之亦然。
该方法虽然解决了对电缆的频繁更换问题,但由于多用了一套收发器而使得设计成本大为提高,且串口板的体积也大了很多。
2 多协议串口通信的实现原理
传统设计中,针对某种协议通常应选择相应的收发芯片,如对于RS-232协议,常用DS-1488/DS-1489、MAX232或SP208等收发器芯片;而对于RS-449协议,则常使用SN75179B、MAX488、MAX490等收发器芯片。当同时使用RS-232、RS-422和V.35协议时,就需要多个收发器芯片来支持不同的协议。
现在,一些收发器的生产厂商研制出了多协议收发器芯片。Sipex是第一家生产出RS-232/ RS-422软件可选择协议芯片SP301的公司。这种芯片可将RS-232和RS-422收发器的电气特性综合到一个芯片中实现。其中SP50X系列产品最多可支持8种协议标准。其它生产厂家如Linear公司生产的LTC154x系列、LTC284x系列芯片也具有以上功能。用户可根据自己的需要选择适当的芯片。
图2为采用分立的收发器芯片与采用一片多协议收发器芯片实现多协议串口通信的通信卡。从图可知,前者实现的复杂度要远远大于后者,具体的性能比较如表1所列。
表1 两种方法实现串口通信的性能比较
分立器件板综合器件板供电电压+5V,-5V,+12V,-12V+5V所需收发器芯片数121支持的物理层协议RS-232,RS-422,RS-449,EIA-530,V.35,V.36RS-232,RS-422,RS-449,RS-485,EIA-530,EIA-530A,V.35,V.36协议选择方式跳线或开关软件或硬件(通过内部译码)串口板大小除了15个收发器芯片外还需其它硬件支持非常小功耗大约1W大约100mW~250mW
除此之外,与分立收发器芯片相比,多协议收发器对驱动器使能控制和对输出漏电电流的处理要容易得多。当通过软件或硬件方法选择某一协议时,驱动器和接收器的电气参数将调整至适当的大小,电路内部将自动控制驱动器的输出电平、接收器的输入门限、驱动器和接收器的阻抗值以及每一物理层协议的常用模式范围。
另外,由于外部网络终端对V.35的需求,使得与V.35收发器的连接不能象其它协议那么简单。当使用分立收发器芯片时,常常通过采用昂贵的继电器开关电阻在选择其它协议接口时将V.35网络终端断开,或者要求用户每选择一个新的接口标准就改变一次终端模块,这样既浪费资源又会使接口电路变得复杂,因而不是一种理想的实现方法。而多协议串口芯片则自动提供适当的终端和片上开关来符合V.10、V.11、V.28和V.35电气协议,从而解决了电缆终端转换问题。
3 基于LTC1546/44的多协议通信
为了说明多协议串口芯片的工作原理,现以Linear公司的LTC1546/1544芯片为例进行分析。
3.1 LTC1546/LTC1544的性能
LTC1546芯片是一个3驱动器/3接收器的收发器,其主要特点如下:
● 带有软件可选的收发器可支持RS232、RS449、EIA530、EIA530A、V.35、V.36和X.21协议?
● 可提供片上电缆终端?
● 与LTC1543引脚兼容?
● 与LTC1544配合可完成完整的DTE或DCE?
● 工作在5V单电源?
● 占位面积小。
LTC1544芯片是一个4驱动器/4接收器的收发器,其主要特点有:
● 软件可选的收发器支持RS232、RS449、EIA530、EIA530A、V.35、V.36和X.21协议?
● 采用LTC1344A作为软件可选的电缆终端?
● 采用LTC1543、LTC1544A或LTC1546可实现完整的DTE或DCE端口?
● 与LTC1543同样工作于5V单电源。
这两种芯片均采用28引线SSOP表面贴封装,图3所示为其引脚排列。
由LTC1546/ LTC1544可组成一套完整的软件可选择DTE或DCE接口,以应用于数据网络、信息业务单元?CSU?和数据业务单元(DSU)或数据路由器中,它支持多种协议,电缆终端可在片上提供,因此不再需要单独的终端设计。其中,LTC1546每个端口的一半用来产生和适当终止时钟和数据信号。LTC1544则用来产生控制信号及本地环路返回信号(Local Loop-back,LL)。接口协议通过模式选择引脚M0、M1和M2来决定,具体选择方式见表2。
表2 通信协议的模式选择
LTC1546模式名称M2M1M0DCE/DTED1D2D3R1R2R3未用(缺省V.11)0000V.11V.11V.11V.11V.11 RS530A0010V.11V.11ZV.11V.11V.11RS5300100V.11V.11ZV.11V.11V.11X.210110V.11V.11ZV.11V.11V.11V.351000V.35V.35ZV.35V.35V.35RS449/V.361010V.11V.11ZV.11V.11V.11V.28/RS2321100V.28V.28ZV.28V.28V.28无电缆1110ZZZZZZ未用(缺省V.11)0001V.11V.11V.11ZV.11V.11RS530A0011V.11V.11V.11ZV.11V.11RS5300101V.11V.11V.11ZV.11V.11X.210111V.11V.11V.11ZV.11V.11B.351001V.35V.35V.35ZV.35V.35RS449/V.361011V.11V.11V.11ZV.11V.11V.28/RS2321101V.28V.28V.28ZV.28V.28无电缆1111ZZZZZZ
由表2可知,如果将端口设置为V.35模式,模式选择引脚应当为M2=1,M1=0,M0=0。此时,对于控制信号,驱动器和接收器将工作在V.28(RS232)模式;而对于时钟和数据信号,驱动器和接收器将工作在V.35模式。
模式选择可通过控制电路?或利用跳线将模式引脚接至地或Vcc?来实现对引脚M0、M1和M2的控制,也可通过适当的接口电缆插入到连接器上实现外部选择控制。若选用后者,则当移开电缆时,全部模式引脚均不连接,即M0=M1=M2=1,此时LTC1546/ LTC1544进入无电缆模式。在这种模式中,LTC1546/1544的供电电流将下降到500μA以下,并且LTC1546/ LTC1544驱动器输出将被强制进入高阻状态。同时,LTC1546的R2和R3接收器应当分别用103Ω端接,而LTC1546和LTC1544上的其它接收器则应通过30kΩ电阻接到地。
通过DCE/DTE引脚可使能LTC1546中的驱动器3/接收器1、LTC1544中的驱动器3/接收器1和驱动器4/接收器4;LTC1544中的INVERT信号对驱动器4/接收器4起使能作用。可以通过下面两种方法中的一种将LTC1546/LTC1544设置为DTE或DCE工作模式:一种是将专门配有适当极性的连接器接至DTE或DCE端;另一种是通过专用DTE电缆或专用DCE电缆发送信号给LTC1546/LTC1544,同时使用一个连接器构成一种既适合DTE又适合DCE的工作模式。
3.2 典型应用
图4为一个带有DB-25连接器端口并可被设置为DTE或DCE工作模式的多协议串口通信电路,图中LTC1546/LTC1544芯片一边与连接器相连,另一边接至HDLC芯片,M0、M1、M2及DCE/DTE引脚接至EPLD硬件控制电路以实现对通信协议和工作模式的选择。其中DTE或DCE工作模式需要连接对应的电缆以保证正确的信号发送。例如,在DTE模式中,TxD信号通过LTC1546的驱动器1发送到引脚2和14。在DCE模式中,驱动器则将RxD信号发送到引脚2和14。
图4中,LTC1546采用一个内部容性充电泵来满足VDD和VEE。其中,VDD为符合V.28的正电源电压端,该端应连接一只1F的电容到地;VEE为负电源电压端。一个电压倍增器在VDD上将产生大约8V电压,而电压反相器则将在VEE上产生大约-7.5V的电压。四只1μF电容均为表面贴装的钽或陶瓷电容,VEE端的电容最小应为3.3μF。所有电容耐压均应为16V,同时应尽可能放置在LTC1546的附近以减少EMI干扰。
图4 用LTC1546/LTC1544芯片实现多协议串口通信(DTE/DCE可选)
在V.35模式中,LTC1546中的开关S1和S2将导通,同时应连接一个T型网络阻抗,以将接收器的30kΩ输入阻抗与T网络终端并联起来,但不会显著影响总输入阻抗,因此对于用户来说,这种模式下的电路设计与其它模式下完全相同。
由于LTC1546是3驱动器/3接收器的收发器,LTC1546是4驱动器/4接收器的收发器,所以如果同时采用RL、LL和TM信号,则LTC1546/LTC1544就没有足够的驱动器和接收器。因此,可用LTC1545来替换LTC1544。LTC1545为5驱动器/5接收器的收发器,它能够处理多个可选的控制信号,如TM和RL。
所有LTC1546/LTC1544接收器在全部模式下都具有失效保护功能。如果接收器输入浮置或通过一个终端电阻短接在一起,那么,接收器的输出将永远被强制为一个逻辑高电平。
4 结束语
串行设计 第3篇
【关键词】可编程控制器;单片机;串行通信
串行通信是一种广泛应用于各个领域的通信方式,西门子S7-226可编程控制器与AT89S51单片机的结合作为一种新的串行通信方式,它在工业领域有广泛的运用,无论是从实用性还是灵活度的角度分析,该设计的结构都相对比较简单,且制作成本也相对较低,具有较强的发展价值。
一、参与试验中的通信硬件综述
1、试验中的单片机通信功能概况
AT89S51单片机是一种低功耗,高性能的单片机,包括4k字节的网络服务提供商能够对Flash只读程序存储器反复擦写一千次,另外还有128字节的随机存储器和一个全双工串行通信端口,不仅可以进行网络间通讯,而且还可以实现串行的异步通讯,甚至可作为一个同步的移位寄存器进行使用。一般来说,这种单片机可通过串口的中断实现数据的传输,由于它的串行通信口输出为TTL电平,在外在端口变为RS232端口进行全双工通信时,可以通过相应可靠型号的芯片等进行电平转换。而与外设含有RS-485接口时,则必须选择与之相对应型号的配套芯片实现电平的转换来进行半双工通信。
2、试验中的可编程控制器通信功能概况
西门子S7-226可编程控制器具有13K字节程序的数据存储量,两个9针RS-485端口与24路输入和16路输出,共包含40个数字量的I/O点,支持点至点、多点接口,自由通信等协议。PPI协议作为主从协议中的主站必须按照所要求的指令向从站设备传输信息。而从站设备只有响应的职能却不能够提供有效的信息反馈给主站的一方。PPI协议广泛应用于可编程控制器同触摸屏之间的通讯中。这其中主站是触摸屏,从站是可编辑控制器,通过触摸屏来传输指令,可编程控制器进行响应,但是并不向触摸屏发送反馈信息。而相对于许多的端口来说,可编程控制器允许主站与主站,主站与从站之间的通讯,而如果控制器是相对较大的规模的话,并且这个控制系统具有大量的控制器和集成线路端口,完成通信过程则需要借助其他的协议才能实现。针对自由方式的通信,则可以依据用户的需求对通讯协议进行配置和编程,就可以达成像单片机、打印机和变频器等一系列类似设备之间的联通灵活通信了。
二、参与试验的项目设计
1、参与试验的项目硬件构成
AT89S51单片机同西门子S7-226可编程控制器之间实现信息传输与反馈需要遵守以下流程来实现。西门子S7-226控制器上只有唯一一个RS-485端口,通过此端口接受发送器来连接单片机。因此需要选择有效可靠的端口来达成,可编程控制器所发出的485电平信号就可以通过转换进而变为单片机可以接收的信号,并借助相应形式的串口联结线实现内部寄存器的输入。可编程控制器同单片机间无法同时进行接收和发送主要是由于端口处所使用的是半双工的方式。这样,它们在进行信息的实时发送过程中,需要一个来自外部的硬件握手信号来实现二者的联结。
此次试验项目里在可编程控制器端选用的是1个数字量的输入口I0.0和输出口Q0.0,而内部寄存器端口采用的是并口P1中的P1.0、P1.1以及P1.2。以下是二者實现联结的具体操作事宜:当单片机需要向可编程控制器反馈信息的时候,置位P1.2可通过光耦PC817进行24V高电平向I0.0的输出,当前可编程控制器便是处于接收端的状态,要中断并对接收信息进行相应地设置,微控制器置P1.0低电平时也可以实现与指定端口之间的传输。这样,信息便通过相应的端口向选定好的端口实现传输发送,并且又转换为可编程控制器端口可以接收到的信号。而可编程控制器需要向单片机进行信息的发送时,可编程控制器可借助输出口Q0.0向单片机的P1.1进行高平点的发送,微控制单元进行串口中断的设置,置P1.0作为高电平接收信息。
2、参与试验的项目通信协议的设计
可编程控制器和单片机二者实现串口通信需要借助RS-485来完成,RS-485作为一种标准协议必须规定并提供指定对应的七层网络协议模型中最底层的规定,双方还需要进行其他的一些协议规定,比如字符格式以及波特率等内容。依照参与试验中各个具体项目的实际特性,在传送过程中进行相应的规定,无奇偶校验,并选择相对应的波特率。同时,加入帧校验码或者对起始字符和结束字符进行相应的标准化规定以保障在发送数据时整个通信过程的稳定和可靠。在计算帧校验码的过程中,必须以字节为依据对所传输的数据通过异或运算方式得出最终的数据,将所得结果发送给接收方,后者再进行相同的运算。然后将后者得出的结果与前者相较,如果前后运算结果出现了偏差,那么就要对发送过来的错误信息予以放弃并要求重新发送,数据传输格式如下所示:
起始字符状态信息有效数据帧校验码(FCS)结束字符
实际上,无论什么样的可编程控制器都能够与单片机通过串口完成通信,关键是要掌握该可编程控制器的通讯协议,了解帧的传送格式,这样便可以达成两者之间的串行通信了。
结语
如今,单片机与可编程控制器的结合使用已被广泛应用于许多领域,掌握可编程控制器的通信协议,使其与单片机通过串口完成通信的设计具有重要的现实意义。
参考文献
[1]李生军,李少蒙.单片机与PLC之间的串行通信实现[J].化工自动化及仪表,2010,37(2):78-80.
[2]武德庆.单片机与PLC串行通信数据传输模式实现[J].民营科技,2010,(09).
[3]刘慧龙,陈高辉.单片机与PLC的串口通信设计[J].科技创新与应用,2012,(11).
高速异步串行传输器的设计 第4篇
关键词:异步串行传输,可编程门阵列,低压差分信号
引言
异步串行通信方式在现代通信领域中应用广泛, 然而通用异步传输方式受其接口芯片与接口电平标准的影响, 传输速率不能满足高速系统的要求。在可编程门阵列技术 (FPGA) 与片上系统技术 (SOC) 等主流设计技术日趋成熟的背景下, 研究应用FPGA芯片开发异步传输系统硬件电路模块, 采用FPGA芯片支持的低压差分信号 (LVDS) 作为传输电平标准, 实现结构完整、集成度高的设计需求, 同时确保低功耗、低串扰、低误码率的串行传输。设计过程中严格按照FPGA开发流程, 对硬件逻辑电路进行综合、布线、时序优化, 提高系统工作频率, 完善系统时序性能。
1 异步串行传输模块的设计方案
从功能上划分, 异步串行传输系统主要包括:PCI总线接口模块, 异步串行通信收发模块、FIFO模块、寄存器配置与FIFO操作模块等。异步串行传输各模块如图1所示。
2 异步串行传输系统模块设计
2.1 PCI总线接口模块
使用VHDL硬件描述语言设计33M/32bits PCI总线从方式控制模块, 符合PCI2.3规范, 支持首部类型0方式的配置读/写交易、单数据周期的I/O读/写交易。按照自顶向下的设计方法, 将PCI总线控制模块划分为总线命令译码模块、配置空间操作模块、奇偶校验生成模块与目标状态机模块。
对其工作过程进行分析:上电复位后, 在总线传输的第一个时钟周期锁存总线数据, 总线命令译码模块根据C/BE信号量解析总线交易类型;总线进入配置交易, 则进行0类配置操作, 配置空间操作模块根据数据总线上指示的配置空间寄存器访问地址, 对设备寄存器、状态命令寄存器、类别版本寄存器、基地址寄存器以及中断寄存器分别进行相应的配置操作;目标状态机模块完成总线交易过程, 总线译码模块生成判别结果, 之后状态机处于等待状态, 经过三个过渡周期之后, 状态机进入读/写状态完成总线数据交易, 在读交易结束之后置奇偶校验位有效, 触发奇偶校验模块对地址/数据总线与命令/字节使能总线进行奇校验, 数据交易结束之后如果frame信号仍有效, 则出现总线交易错误进入停止状态, 如没有出现该类错误则驱动devsel信号为高电平, 完成总线交易。
2.2 异步串行收发模块
异步串行发送模块主要包括分频电路, 移位寄存器与状态机。在系统复位以后状态机处于开始状态, 从FIFO模块读取一帧数据到移位寄存器中, 初始化奇校验位为零, 分频电路对系统时钟8分频作为发送时钟, 发送数据帧的起始位;此后状态机依次进入数据态, 校验态以及停止态, 分别发送数据位, 校验位及停止位;最后返回开始态, 置thrempty信号有效, 表示可以发送下一帧数据。
异步串行接收模块由起始位检测电路、采样计数器、移位寄存器与状态机组成。状态机控制整个接收过程, 当系统复位或接收线处于空闲时, 状态机进入闲置状态;起始位检测电路开始采样接收线上出现的低电平跳变, 起始位至少应该保持接收波特率时钟周期的50%以上, 即在第一次检测到低电平开始, 采样计数器计数4次, 在起始位周期的1/2处判断其电平的极性, 是高电平则认为该次跳变是噪声, 清零计数器, 重新开始检测;是低电平认为检测到一帧数据的起始位置, 测试中, 接收连续数据帧时由于状态机延时而不能正确检测到起始位导致接收错误, 因此在数据帧之间加入4个空闲周期;检测到起始位之后状态机进入移位状态, 在该状态中对串行数据流按照LSB方式进行串并转换, 并产生奇校验结果, 判断完整接收一帧数据后, 状态机进入校验态, 将校验结果与校验位比较, 判断是否产生校验错误;最后状态机进入停止态, 无论停止位之后有无空闲位, 停止态仅进行一次操作, 然后状态机返回到空闲状态, 将rhrready信号置为有效, 允许FIFO模块读取移位寄存器中的数据帧。
2.3 寄存器配置模块
内部寄存器包括:帧格式寄存器, 传输线路寄存器, 中断始能寄存器以及FIFO控制寄存器。中断始能寄存器根据rhrready、thrempty、FIFO空标志等信号产生收发中断, FIFO控制寄存器处理FIFO始能、FIFO清零以及确定FIFO的读写模式, 为提高FIFO模块的传输效率, 设计中允许异步收发模块按块读写FIFO, 在单字节模式下只要收发移位寄存器准备就绪, 就可以操作FIFO模块, 此刻FIFO中至少存储一帧以上数据;块模式规定只有FIFO中存储指定量的数据帧时, 才允许操作FIFO模块。
3 时序仿真与验证
模块设计与仿真验证使用Altera公司提供的集成开发工具Quartus II 6.0完成, FPGA芯片选用Altera公司生产的Cyclone系列EP1C12Q240C8, 时序仿真如图2所示。
4 硬件测试验证
硬件测试使用成都爱达公司改进型S1300开发板, 在原板的基础上增加2.5V稳压电路与100Ω配备电阻使其符合LVDS电平标准。测试软件使用Driverstudio3.1开发基于Windows XP系统的PCI驱动程序, 并编写基于MFC的通信测试程序, 经过软硬间联合调试可以实现2米之内传输速率为500Kbps的异步串行通信。
参考文献
[1]边计年, 薛宏熙.用VHDL设计电子技术[M].北京:清华大学出版社, 2001.
[2]李贵山, 陈金鹏.PCI局部总线及其应用[M].西安:西安电子科技大学, 2003.
串行设计 第5篇
摘要:DSP在与多个外设进行通信时,需要扩展异步串行通信接口。以TMS320C6711为例,采用ST16C554异步串行收发器,介绍了目前最先进的C6000系列DSP与多路RS232、RS485/422设备通信的设计方案,并给出了软硬件实现实例。关键词:数字信号处理器 通用异步串行收发器 可编程逻辑器件 光纤陀螺
DSP与计算机通信的外部接口主要可划分为串行通信口和并行通信口。串口通信包括采用RS232、RS485/422、USB、IEEE1394等协议的通信,并口通信包括采用IEEE488、IEEE1248等协议的通信。本文主要介绍DSP多路RS232、RS485/422通信系统的.设计与实现,并将此系统应用于光纤陀螺三维角速率测量组合中。
1 系统方案设计
1.1 系统框图
图1为DSP多路异步串口通信系统的框图。计算机接收端为通用的数据采集卡,其与DSP之间采用RS485/422协议,通信速率可达921.6kBPS。光纤陀螺与DSP之间采用RS232协议,通信速率可达115.2kBPS。该系统可以实现DSP与三路RS232设备和一路RS485/RS422设备的通信。
1.2 TMS320C6711简介
TMS320C6000系列DSP芯片最初主要是为移动通信基站的信号处理而推出的超级处理芯片,200MHz时钟的TMS320C6711完成1024点的FFT算法的时间只要66μs,比传统的DSP芯片要快一个数量级,因此在民用和军用领域都有广阔的应用前景。在军事通信、电子对抗、雷达系统、精确制导武器等高智能化的应用领域,这种芯片的处理能力具有不可替代的优势[2]。TMS320C67XX是TMS320C6000中的浮点系列,TMS320C6711是其中性价比较好的一款芯片。正如其它的TMS320C6000系列芯片一样,该芯片提供了两个多通道同步缓冲串口,没有提供异步串口,因此需要进行异步串口扩展。
1.3 通信方案设计
目前几乎所有的数字信号处理器都提供了一个或多个串行接口,然而,多数DSP芯片提供的是同步串口。在实际的应用中,也需要DSP能够与多个外设进行异步串行通信,如与PC机或光纤陀螺之间进行串行数据传输就要求DSP系统具有多路UART串行接口;当然也可以利用通用的I/O口构成串口,由软件设定波特率(在DSP不繁忙的情况下,往往采用这种方法)。但是当这两种I/O线被占用或对通信的实时性要求较高时,DSP应该通过扩展异步通信芯片来实现高速串行通信。
针对这种情况,本文研究并实现一种简单可靠的异步串口扩展方法,即在DSP的并行总线上扩展UART芯片,用硬件实现异步数据传输。该方法的优点是软件实现简单,代价是在总线上需扩展其它设备。由于
为老主板升级串行ATA硬盘 第6篇
目前,随着SATA硬盘价格的大幅度下降,越来越多的构机者开始选购SATA硬盘。正当新的构机者享受速度的快感之际,老主板的使用者也想尽快升级他们的CPU和硬盘等。升级CPU似乎简单一些,升级硬盘确实不太容易。通常情况下主板中的南桥芯片决定了硬盘的传输速度,如果不做特殊的改造或不使用转接卡,一般是不能升级的。
最近威盛电子2004年1月13日宣布推出高效能Serial ATA磁盘阵列(RAID)控制芯片——VIA VT6421,它秉承了威盛最先进的“DriveStation”技术,并生产了一块转接卡(如附图所示)。通过此转接卡, VT6421控制芯片将PCI和Cardbus(PCMCIA)控制界面转换为Serial ATA控制界面,支持从台式机到笔记本电脑全系列PC处理器平台的硬盘升级。
VIA VT6421芯片简介 VIA VT6421芯片由0.22μm CMOS构成,其外形尺寸是14mm×20mm,128脚 PQFP封装。
VIA VT6421芯片的技术参数如下:
33MHz PCI 2.2;
1个Ultra ATA-133 IDE,支持2个驱动器;
ATA PIO模式4、multi-word DMA 模式2、UltraDMA模式6;
兼容ATA/ATAPI-6;
支持2个Serial ATA 1.0硬盘接口。
VIA VT6421可连接双通道Serial ATA设备,并提供储存设备之间高达150MB/s实时数据传输速率,在密集与大量存取数据的情况下,可明显改善系统效能。此外,VIA VT6421还支援Cardbus解决方案,可连接威盛或任何市面上各款USB2.0控制芯片、支持Combo解决方案,使单一解决方案具有双重功能,有效地降低成本和产品设计的复杂性。因此VIA VT6421使系统厂商能设计更具广泛兼容性的Serial ATA外围设备控制卡,提供客户更强的连接性和储存弹性。
除了Serial ATA界面连接之外,VIA VT6421还支持多组态的磁盘阵列,包括最大效能的RAID 0,和最高安全性的RAID 1、RAID 0+1和透过操作系统结合多样驱动装置的更大单一驱动设备的JBOD。VIA VT6421确保了向下兼容性,VT6421同时整合单一通道的Parallel ATA-133控制卡,不需转接器便可连接IDE装置。同时VIA VT6421兼容于全系列英特尔、超微(AMD)和威盛处理平台,以及微软Windows 9x / Me/ NT4 / 2000 / XP和主要的Linux操作系统。
硬盘的升级 众所周知,在很多情况下影响计算机运行速度的主要瓶颈往往不是CPU、内存、显卡等,而是硬盘读取数据的速度。
有了如附图所示的硬盘升级转接卡,你可以随心所欲地在老主板上升级你的硬盘。
升级步骤大致如下:先将转接卡插到主板上的PCI插槽中,接通电源,启动操作系统,安装转接卡的驱动程序,安装完后关闭电源,再将你手中的SATA硬盘连接线插入相应的接口中,开机,进行CMOS设置,将你新接入的硬盘设置成第三块主硬盘,启动操作系统后,对硬盘进行相应的操作,例如:分区、格式化等。
如果你想使用新接入的串行ATA硬盘作为系统启动盘,有两种方法。一是摘掉原硬盘,重装系统和应用程序,然后将有用的文档拷入新硬盘中,这样做的好处是可以借机清除一些无用程序和临时文件等;二是利用硬盘对拷软件,例如Ghost等将原硬盘中的内容拷贝到新硬盘中。如果还想使用原有的硬盘,在CMOS中将原有的硬盘设置成“无”,这样就可以使用新的串行ATA硬盘启动系统了,待系统启动后Windows系统会自动找到原先的硬盘,并自动分配磁盘驱动器盘符并排在新硬盘的后边,一切OK。
基于CPLD的异步串行接口设计 第7篇
关键词:CPLD,RS232,异步串行接口,VHDL
1 CPLD与VHDL简述
CPLD适用性编辑器采用中心互连矩阵形式对不同的编码进行矩阵排列, 该编辑器与原有传统CMOS编辑器不同点在于, 该编辑器能够对传输电路时间具有一定的预测性。当编码器收到电流脉冲信号时, 便会对电流大小进行数据收集, 然后将收集的数据信号转化为电流脉冲, 该编辑器便会对电流的流经时间做定性分析, 保证电流传输的稳定性。
大规模可编程逻辑器件是利用EDA技术进行电子系统设计的载体, 硬件描述语言是利用EDA技术进行电子系统设计的主要表达手段。常用的硬件描述语言有VHDL、Verilog和ABEL。设计中使用的VHDL语言在电子工程领域已成为事实上的通用硬件描述语言。
2异步串行通信接口设计
课题要求实现基于CPLD的异步串行接口的设计, 需要进行以下工作。
首先, 需要利用Altium Designer 6.9软件开发环境进行硬件系统的设计;其次, 运用Quartus II 9.0软件将软件系统程序进行设计、综合及仿真;最后, 将软硬件系统结合起来综合调试、分析, 实现设计课题的要求, 在条件允许的情况下或进行进一步的完善。
2.1串行异步通信的数据格式
收发双方取得同步的方法是在字符格式中设置起始位和停止位, 在一个有效字符正式发送前, 发送器先发送一个起始位, 然后发送有效字符位, 在字符结束时再发送一个停止位, 起始位到停止位构成一帧。
2.2串口模块的设计
设计中选择的是RS232串口通信。目前RS232是PC机与通信工业中应用最广泛的一种串行接口。典型的RS232信号在正负电平之间摆动, 在发送数据时, 发送端驱动器输出正电平在+5~+15V, 负电平在-5~-15V。当无数据传输时, 线上为TTL, 从开始传送数据到结束, 线上电平从TTL到RS232电平再返回TTL电平。接收器典型的工作电平在+3~+12V与-3~-12V。
2.3异步串行通信系统模块设计
本设计可划分为4个部分, 即波特率发生模块、接收模块、发送模块、显示模块和控制模块的设计。
2.3.1分频模块设计
系统利用晶振T5提供系统时钟, 然后通过分频模块产生六种波特率。
波特率 (Baud Rate) 是单位时间内传送的二进制数据的位数, 以位/秒 (b/s) 表示。收/发时钟频率=N*波特率。为了兼顾速度和稳定性一般N取为16。
根据当前异步串行通信系统的传输结构, 其波特率发生器在连接方式上采用2个8位数据寄存器相连, 这样便能进行有效的数字寄存, 保证1-16位进制编码的有效进行。其次在系统频率分频方面, 该波特率发生器能够进行2分频, 保证传输的分频波形能够达到预定位置, 但传输波形为一个波峰时, 则另个传输波形便会到达波谷, 完成波特率波形的周期传输。
由于内部采样时钟bclk周期 (由波特率发生器产生) 是收/发波特率时钟频率的16倍, 如CPLD的系统时钟为50MHz, 当波特率为9600Hz时, 则波特率时钟的每个周期相当于 (1/9600) /[1/ (50*106) ]≈5208个系统时钟的周期。若要得到占空比为1:1的波特率时钟, 只要使计数器在数到5208×1/2=2604时将输出置高, 之后计数到5208时将输出置低并且重新计数, 就能够实现和9600波特率同步的时钟。
设计功能:实现六种波特率1200、2400、4800、9600、19200、38400Hz的可选择性, 从而可以选择数据传输速率。
假设数据的波特率为p, 则所需时钟的频率为16*p, 开发板上所选择的晶振频率为50MHz, 则波特率发生器的分频系数CNT1计算公式如下式:
2.3.2接收模块设计
该模块的功能:实时检测线路, 当线路产生下降沿时, 即认为线路有数据传输, 启动接收数据进程进行接收, 按从低位到高位接收数据。
2.3.3显示模块设计
设计的显示模块中, 数码管显示传输数据的具体数值 (十六进制) ;八个LED灯主要是为了显示系统从外部接收到的数据 (二进制) 从左到右依次显示数据的高位到低位, 灯亮为“1”, 反之则为“0”。
设计功能:将发送的数据结果显示到开发板数码管及LED灯上。
由于系统选用的是共阳极的数码管, 所以数码管位选位初始值为“0”, 当位选位为“1”时选中该位。
2.3.4控制模块设计
系统的数据的接收可通过按键设计一个发送键, 从PC机上输入数据, 按下发送键, 将数据传输到开发板上, 由CPLD芯片接收;数据发送可通过开发板上的拨码开关控制数据传输;同时, 六种波特率的选择亦可通过拨码开关设计。
3结束语
本设计具有很大的灵活性, 这一异步串行通信接口工作的波特率可以通过拨码开关选择, 使其工作在不同的频率环境下, 十分方便。由于采用了VHDL语言作为输入方式并结合CPLD, 大大缩短了设计周期, 提高了设计的可靠性、灵活性, 使用户可根据自己的需求, 方便、高效地设计出适合的串行接口电路。
参考文献
[1]王晓丽.可编程逻辑器件CPLD/FPGA的发展[J].科技信息 (科学·教研) , 2007 (28) .
[2]侯伯亨, 顾新.VHDL硬件描述语言与数字逻辑电路设计[M].西安:西安电子科技大学出版社, 1999.
串行设计 第8篇
1 芯片总体结构
芯片的总体结构是以Altera公司的EP1K系列为主控芯片,主要由地址译码模块、线路控制/状态模块、不同工作方式的传输模块、可编程多路选择模块、可编程分频模块和LED点阵显示模块组成,系统总体结构框图如图1所示。
2 模块编程实现
本设计采用模块化的设计方法,按功能将芯片的内部结构分成若干个模块,规定每一模块的功能和各模块之间的接口,先对各模块分别调试,然后再将各模块整合起来联调。这样设计有利于各功能模块程序的编写和调试,从而降低整个芯片的调试难度,提高软件的可维护性及可读性。
本芯片的主要功能包括:(1)可编程实现不同传输速率;(2)可编程实现4条传输线路的选择;(3)可编程实现异步带校验收发;(4)可编程实现异步无校验收发;(5)可编程实现同步带校验收发;(6)可编程实现同步无校验收发;(7)能够进行多位收发。
2.1 地址译码模块及内部寄存器选择
本芯片具有可编程特性,它从8位数据线上输入数据,从3位地址线上输入地址,对特定地址的寄存器进行设置。地址译码模块将输入的地址和数据转化为所要进行操作的选通信号。程序如下:
上例中,S0是一个选通信号,当特定的数据和地址输入时,S0被置‘1’。HEND是一个应答信号,它被置成“11”表示对S0设置已经完成,可以进行下一个寄存器的设置。
2.2 多路选择模块
本芯片区别于传统8251串行通信芯片的是多路传送功能,该功能可使串行通信芯片的利用率大大增加。本芯片可以驱动4个独立串口,通过给定不同的地址代码,即可选择不同的传输路径。程序如下:
上例中,P11是译码模块的选择信号,反映了外部的动作。F是一个过渡信号,用来将CPU的设置传达给信号V。V信号通过CASE语句直接决定路径的选择。TXD是一个端口信号,其类型是4位标准位逻辑矢量,用来表示4个端口。
2.3 可编程分频模块
本芯片可编程选择3个传输速率,通过对系统时钟进行3个不同的分频来实现。程序如下:
以上程序段是能进行偶数分频的半整数分频器,整数类型信号PERIODS是分频数,CNT是用来进行分频控制的计数器。
2.4 异步带校验发送模块
(1)输出缓冲区模块:CPU将要发送的数据放在8位数据总线上,在WR端给一个上跳沿。数据首先被并行存入8位输出缓冲区内,而不是直接发送。
(2)计算异步传送校验位模块:为了保证传输质量,引入了校验环节。笔者采用奇偶校验法,将8位数据两两进行异或运算。如果结果等于1,表示8位数据中1的数量为奇数;如果结果为零,表示8位数据中1的数量为偶数。发送数据时,将奇偶校验位安插在原数据的第零位与第一位之间发送。
(3)对输出标志位的设置:为了反映芯片的工作情况,定义了TDEMPTY,即发送缓冲区空状态。当没有数据发送时,TDEMPTY=1;当正在发送数据时,TDEMPTY=0。
(4)输出模块:输出模块负责将输出缓冲区中的数据以串行方式一位接一位地输出,是一个并/串转换的过程。
(5)输出计数器:为了实现8位数据按顺序串行输出,采用了一个6位计数器SCIT。选择该计数器的10个状态作为发送控制状态,分别发送一位启动位、一位停止位、一位校验位和8位数据。
2.5 异步带校验接收模块
(1)输入缓冲区:芯片收到数据后不是直接发给CPU,而是先存放在8位输入缓冲区中,等待CPU的读取。
(2)读标志位的设置:CPU可以通过读标志位的变化确定是否接收到一组数据。为此,定义了信号RDFULL,用来表示接收缓冲区的状态。1表示满,即等待CPU读取数据;0表示空,即没有可供读取的数据。
(3)校验位的计算:为保证传输数据的正确,芯片收到一组数据后,会对其进行奇偶校验运算,将结果与收到的检验位进行比较。相等表示传输正确,否则表示传输错误。
(4)读出模块:当接收缓冲区满时,芯片会通知CPU取走数据,这是一个读出数据的过程。
(5)启动位的识别:将启动位设置为0,当接收端收到0且保持了足够的时间时,将接收0后面的数据。
(6)接收计数器:接收过程由接收计数器控制,将串行数据按顺序接收,进行串/并转换存入输入缓冲区。
3 结束语
本设计以EDAPRO/240H实验仪为开发系统,以VHDL为设计语言,以Altera公司的MAX+PLUSⅡ软件为开发工具,以EP1K30QC208-3芯片为目标载体,根据系统对硬件的功能和行为要求,进行整体的编译和逻辑仿真,然后进行转换、布局、延时仿真生成配置文件,最后下载到FPAG芯片中,实现其硬件功能,基于FPGA的串行通信芯片的设计达到了预期效果。
基于FPGA实现了串行通信芯片的设计,充分利用了FPGA的优势。这种基于芯片的设计方法,具有设计灵活、修改方便、研制周期短、易于调试、系统可靠性高等一系列优点,特别适于中小型系统的开发研制。
摘要:介绍了基于FPGA的串行通信芯片的开发过程、设计思想和编程实现。采用模块化自上而下的设计方法,各模块设计使用VHDL语言,在MAX+PLUSⅡ下实现编译、仿真等,最后成功下载到FPGA芯片中。这种基于芯片的设计方法,具有设计灵活、研制周期短、易于调试、系统可靠性高等一系列优点。
关键词:FPGA,VHDL通信芯片
参考文献
[1]徐志军,徐光辉.CPLD/FPGA的开发与应用[M].北京:电子工业出版社,2002.
[2]潘松,王国栋.VHDL实用教程[M].成都:电子科技大学出版社,2000.
[3]北京理工大学ASIC研究所.VHDL语言100例详解[M].北京:清华大学出版社,1999.
[4]龚文斌.AC01/02型地铁列车辅助逆变器A14模块IGBT替代的研究[D].上海:上海交通大学,2011.
串行设计 第9篇
串行通信是工业现场仪器或数据采集系统中常用的通信方式。在开发数据采集系统时,串行通信是上位机与单片机最简便常用的仪器通信接口。在串行通信应用中,LabVIEW有相应模块使用户可以迅速组建自己的应用系统;利用LabVIEW编程,可以摆脱繁琐的底层命令,轻松实现PC与仪器的通信。
1 VISA简述
1.1 VISA的由来
在以往的虚拟仪器开发中,由于对I/O接口设备驱动控制软件的开发没有制订统一的规范,仪器厂商按照各自的标准开发I/O接口设备驱动控制软件出售给用户,因此不同类型的或不同厂家生产的I/O接口设备都必须专门来设计它的驱动程序。由于其不可互换性,因而造成用户在集成、使用和维护虚拟仪器系统时重复投入了大量的资金。为了推动虚拟仪器软件标准化的进程,VPP联盟于1996年完成了对VISA规范的开发工作,并将各个函数的原型以标准的形式发布。根据VPP系统规范的定义,虚拟仪器系统的软件结构应包含3部分,即I/O接口软件、仪器驱动软件和应用软件,见图1。采用VPP标准的I/O接口软件就是VISA。
1.2 输入/输出(I/O)接口软件
输入/输出(I/O)接口软件存在于仪器(即I/O接口设备)与仪器驱动程序之间,它对仪器内部的寄存器单元进行直接存取数据操作,是一个为仪器与仪器驱动程序提供信息传递的底层软件层,是实现开放的、统一的虚拟仪器系统的基础与核心。
图1 虚拟仪器的软件体系结构
1.3 仪器驱动程序
仪器驱动程序的实质是为用户提供用于仪器操作的较抽象的操作函数集,是连接上层应用软件与底层输入/输出(I/O)软件的纽带和桥梁。VPP规范明确地定义了仪器驱动程序的组成结构与实现,明确规定了仪器生产厂家在提供仪器模块的同时,必须提供仪器驱动程序的源程序文件与动态链接库(DLL)文件。由于仪器驱动程序的编写是在VISA软件的基础上,因此仪器驱动程序之间有很大的互参考性,仪器驱动程序的源程序也容易理解。这样,用户就可以修改仪器驱动程序,对仪器功能进行扩展。
1.4 VISA的特点
VISA的I/O控制功能适用于以下几个方面:①各种仪器类型,VISA包含了VXI仪器、GPIB仪器、RS-232串行仪器等各类仪器的控制操作,也包含了寄存器器件、存储器器件等仪器的操作,其形式上是统一的;②各种仪器硬件接口类型;③单处理器系统结构,也适用于多处理器结构或分布式网络结构;④多种网络机制,无论是虚拟仪器系统网络构成的VXI多机箱扩展网络还是以太网,其仪器操作是一致的。
VISA的I/O软件库的源程序是唯一的,其与操作系统及编程语言无关,只是提供了标准形式的API文件作为系统的输出。在VISA的结构中,仪器类型的不同体现在资源名称的不同上。对VISA的使用者来说,不同类型仪器的使用在形式上和方法上都是一样的。
2 总体设计
根据远程数据采集终端实验的要求,设计上位机的RS232通信接口部分:①可以根据不同的需要设置波特率、数据格式、校验格式以及数据流的控制,设置数据存储的文件路径;②当程序运行后,在无人值守的情况下,随时等待接收数据采集终端定时传来的数据,并以文本文件的格式将数据存入指定的文件,等待数据处理;③当需要上传数据时,可以根据规定的命令格式,在命令窗口输入起始和终止时刻,按下发送命令,等待单片机数据采集系统发来的数据,并将数据存入指定路径的文本文件,同时将数据显示在观察窗内,观察信号的变化。具体的设计要点如下所述。
2.1 串口初始化
根据设计要求将串口初始化为波特率2 400b/s,数据位8位,1位停止位,无奇偶校验位。
2.2 数据的读操作
系统运行初始化后一直处于等待接收数据状态。数据采集终端每过一定时间上传一次数据,这个数据是和时间一起上传的,是自动记录数据历史的部分,所以要存储在一个特定的文件夹里,等待后续程序的处理。
2.3 数据的写操作
当需要上传某一特定时间段的数据时,需要上位机发送一个命令(即起始时刻和终止时刻的数值)给单片机,这时需退出记录数据状态,向串口发送一个命令串,这个命令在按下上传数据按钮之前就要在起始时刻和终止时刻窗口写好,发送以后延时等待单片机的处理并且等待接收数据,当接收到数据并且在观察窗口显示所需要的数据之后,将读数据0按钮关闭,系统又处于等待接收定时上传数据状态,使数据不会丢失。需要注意的是发送命令的控制按钮要设计为一个脉冲的形式,否则程序会循环发送命令,不能返回等待定时上传状态。
2.4 关闭串口
当关闭采集系统时,关闭串口,释放LabVIEW占用的资源。
3 程序流程图
程序流程图见图2。
4 程序实现
前面板及程序框图的设计分别见图3、图4。
5 程序的验证
发送时间命令到采集终端,将返回数据记录在文件data.txt中,同时将数据在观察窗内显示。接收数据采集终端定时发送的数据,并且写入文件data1.txt文件中,等待后续数据处理。
6 结语
通过调试,完成了串口通信驱动程序的设计和实现,结果表明数据的上传准确无误,参数设置灵活,达到了设计要求。
参考文献
[1]杨乐平,李海涛,杨磊.LabVIEW程序设计与应用[M].第2版.北京:电子工业出版社,2005.
[2]刘君华.基于LabVIEW的虚拟仪器设计[M].北京:电子工业出版社,2003.
[3]刘君华.虚拟仪器图形化编程语言LabVIEW教程[M].西安:西安电子科技大学出版社,2004.
[4]王珏.基于LabVIEW的串口调试系统设计[J].江西科学,2007(6):46-48.
串行设计 第10篇
随着信息技术的不断发展, 人们对通信技术的需求越来越强, 有关无线通信的研究也越来越热。通信数据的传输可采用有线和无线两种方式, 在一些地理条件复杂、线路架设困难的场合, 无线通信方式具有突出的优势。在采用一般的无线传输方式时可能因环境噪声大, 干扰信号强而导致接收数据准确性低。针对这种情况, 特设计一种低成本、高准确率的无线数据传输系统----基于STC11F01单片机和nRF905模块的无线串口通信系统。
2 总体方案
因STC11F01单片机具有体积小、性能好等特点而用作系统的核心处理器。nRF905模块通过STC11F01单片机模拟SPI接口进行通信, 由MAX232芯片将电脑串口RS232电平转变为单片机应用系统的TTL电平, 为PC机与单片机之间的通信奠定基础。系统总体框图如图1所示。
硬件系统由一对nRF905无线收发模块及两块通信底板构成, 分别通过RS232串口连接到两台需要通信的PC机上。发送端的单片机接收到串口传送的数据后, 通过将TRX_CE与TX_EN置1, 使发送端的n RF905模块向外发送数据。接收端通过将TRX_CE置1, TX_EN置0来接收从发送端传来的数据, 再由接收端单片机通过RS232串口传递给接收端PC机, 从而实现两台PC机之间的无线串口通信。系统采用半双工的通信模式, 实现两台PC机的双向收发。
系统由双色发光二极管指示工作状态, 当n RF905工作在发送模式时, 绿色二极管亮;当n RF905工作在接收模式时, 橙色二极管亮。
3 软件设计
nRF905模块存在4种工作模式:掉电和SPI编程模式、待机和SPI编程模式、Shock Burst TM发射模式、Shock Burst TM接收模式。其工作模式由TRX_CE、TX_EN、PWR_UP三个引脚决定, 如表1所示。
nRF905发送数据实现过程如下:MCU通过SPI接口把接收机的地址和需发送的数据传给n RF905;微控制器把TRX_CE和TX_EN置高, 激发nRF905的射频发射模式;将数据打包发送, 发送后DR信号被置高;射频配置寄存器中AUTO_RETRAN字段为“1”时, nRF905不断重发, 直到TRX_CE被置低, 当TRX_CE被置低, nRF905完成发送并自动进入空闲模式。若TX_EN为低电平而TRX_CE继续保持高电平, nRF905则在完成本次发送后进入RX模式并进入预设信道。nRF905工作在发送模式时的流程图如图2所示。
nRF905接收数据实现过程如下:nRF905进入接收模式650us后, RF905开始监听无线电信号;当nRF905检测到接收频率的载波时CD变为高电平, 当接收到有效地址时, AM被置高;当接收的数据包CRC校验正确, nRF905将除去报头, 地址及CRC位, 并把DR置高;微控制器将TRX_CE置低, nRF905进入空闲模式, 微控制器通过SPI将数据移到微控制器内;所有负载数据传出后, nRF905再次将AM和DR置低。nRF905工作在接收模式时的流程图如图3所示。
4 系统测试
4.1 串口调试
在PC机上使用串口调试助手软件, 选择相应串口, 设置波特率为9600bps, 校验位为ODD, 数据位为8, 停止位为1。选中十六进制发送, 当输入数据长度小于32字节时, 在数据最后加上“0 0”发送, 此时电路板上双色二极管发出绿光, 数据发送完成后二极管熄灭。若在输入数据长度大于或等于32字节时发送, 绿色二极管将一直亮, 提示发送数据溢出。nRF905的数据寄存器最多能存储32字节的数据, 当一次性发送的数据超过此值时, 数据传送将不完整。
4.2 收发数据调试
PC机1发送长度小于32字节的数据时, 与PC机1相连的电路板上的发光二极管发出绿色的光, 与PC机2相连的电路板上的发光二极管发出橙色的光。大约1s后, 二极管熄灭, 能看到PC机2上串口调试助手软件接收区有数据出现。比较发送的数据和接收的数据, 发现接收区的数据跟发送区的数据能一一对应, 但发送区最后的“00”在接收区没有显示。故将“00”作为nRF905发送数据的标志, 可一次性发送多个数据 (不超过32字节) , 由此说明该设计性能良好。
5 结论
系统采用nRF905引入自动重发, 高抗干扰GFSK调制和最高16位CRC校验机制, 有效避免了无线通信环境中噪声大、信号干扰大等不利因素, 确保了数据传输的可靠性。
基于nRF905设计的无线串行通信系统, 目前在LED点阵显示屏、数据通信、指纹识别数据采集系统等方面的应用, 充分显示了无线通信具有成本低廉、适应性强、扩展性好等优点。
参考文献
[1]蒋博.nRF905的无线数据传输系统[J].工业仪表与自动化装置, 2006, (3) :59-60.
[2]吕跃刚.基于nRF905无线数传模块的设计及其实现[J].微计算机信息, 2006, 22 (11-2) :274-277.
[3]李治龙, 曾碧.nRF905模块和SPI接口的点对点无线通信系统[J].广东工业大学, 2006, (10) :20-22.
[4]侯海岭, 姚年春.无线收发芯片nRF905的原理及其在单片机系统中的应用[J].仪器仪表用户, 2006, 13 (3) :70-71.
串行设计 第11篇
关键词 PC-104 FPGA 429编码 信息处理 电平转换
中图分类号:TP3 文献标识码:A
0引言
由于芯片和外围设备的成本不断下降,专用于某一领域的嵌入式平台逐渐被计算机体系结构所使用。设计成本、维护成本的低廉,使得其生产和应用得到广泛普及。PC-104总线是嵌入式计算机的总线标准之一。由于这种超小型PC机体积小、结构紧凑,在硬件和软件上与PC总线完全兼容,主要是嵌入各种仪器设备、军用电子设备和机器人等之中。目前使用PC-104总线的嵌入式PC机已经得到了广泛的应用,很多厂家都生产了系列化的功能模块。
本文介绍的就是一种基于PC-104总线的编码发送电路。其通过PC-104总线接受PC机的要发送到某设备的信息,建立发送任务队列。实现发送次数、发送间隔及波特率的可调。设计中采用了XILINX公司的SpartanⅡ系列大规模现场可编程阵列芯片(FPGA)XC2S100,使得系统设计几乎在一块芯片上完成,保证了系统简单、稳定、可修改和可维护。鉴于此嵌入式系统采用了DOS操作系统,设计中PC的控制界面使用Turbo C 2.0编译环境进行界面程序代码的编写。简洁实用的界面设计,人机交互性较为友好,可方便的进行发送信息、发送间隔、波特率等参数的修改,给整个系统的后期调试以及系统的操作使用提供了便利。
1系统工作原理
系统原理框图如下:
由框图可以看出系统包括三个部分:计算机与FPGA通过429总线的通信;FPGA信息处理;电平转换。
系统工作原理:计算机与FPGA通过429总线进行通信。FPAG把计算机送来的符合数据(429地址、信息、发送次数、发送间隔、波特率等)进行处理(包括建立任务队列、串并转换、数据校验等)转换为两路差分输出,最后经过电平转换电路把两路差分信号转换为+12V~-12V的输出。
2 PC机与FPGA通过429总线的通信
系统设计中用到的PC104总线信号有:10根地址线A9 ~ A0、DMA控制AEN;IO读信号IOR、IO写信号IOW、双向数据总线D7 ~ D0。对双方传输信号字节进行编址,对应地址定义如下:
429 Label0x300
Message(Low Byte)0x301
Message(Mid Byte)0x302
Message(High Byte)0x303
Cycles(Low Byte) 0x305
Cycles(High Byte) 0x304
*Caption 0x306
* Caption包括波特率选择位(2Bits)和发送间隔(6 Bits)
PC机通过查询方式读取FPGA内部缓存的状态标志位(FULL):若FULL=0,说明计算机可以对缓存进行写操作,计算机把429通道地址、信息、发送次数、波特率和发送间隔按照对应地址通过总线依次写入FPGA;若FULL=1,说明FPGA内部缓存已满,计算机暂时不能对缓存进行写操作,需等待缓存中数据被取走后才可进行写操作。FPGA对计算机传输来的数据进行处理:按照Label中的数据把Messages及Cycles写入内部RAM的相应地址中,同时置缓存状态位(FULL)以便计算机读取。
3 FPGA信息处理
FPGA内部框图如图2所示。FPGA的数据接收缓存为7字节,任务队列为16字节,数据存储双口RAM为80字节。 PC104的数据和地址信号送入FPGA,FPGA按照地址信号的不同把数据放入接收缓存的相应字节,同时判断RAM的狀态:如果CAN_WRITE_FLAG为真,说明RAM可以写入数据,则把数据信息、发送字数和Label分别写入RAM和任务队列。在发送端请求发送信号REQURST有效时,数据从RAM中读出至发送寄存器。数据在DATA_CLK的时钟移位形成串行信号A,A取反形成串行信号B。A、B分别和DATA_CLK相与,产生差分信号送至外部电平转换电路。
4 HS3182电平转换
电平转换电路是通过429电平转换芯片HS3182完成的。该芯片把FPGA输出的A、B两路差分信号(TTL)转换成-2VREF~+2VREF的差分信号输出。
5 FPGA外部电路的设计
(1)电源电路:采用LM317电源芯片产生3.3V和2.5V给FPGA供电。
(2)系统时钟:主芯片时钟由外部提供,由晶振提供40MHz频率的时钟源,接入芯片全局时钟引脚。
(3)FPGA下载配置:由于FPGA在断电后程序会自动丢失,设计采用了EPROM以存储上电后加载到FPGA上的程序。EPROM器件为XILINX公司的XC18V04,该器件可在系统上电后自动把程序加载到FPGA。通过并行电缆与计算机进行连接,下载配置FPGA。配置方式有多种,可使用串行主模式,串行从模式和JTAG方式等。另外还可以通过专用电缆进行快速并行加载。在使用并行电缆加载时,加载方式的选择可通过一个4位的DIP开关来实现。
6 FPGA内部设计
(1)429总线译码电路:429总线的十位地址线A9-A0、DMA控制信号AEN通过译码产生7个地址300-306(十六进制)供接收缓存各字节使用。
nlc202309020039
(2)时钟:全局时钟GCK0来自40M时钟输入。通过分频产生36k、48k和50k的数据发送时钟。
(3)接收缓存:接收缓存的长度为56比特。包括1字节的目标地址,3字节的发送信息,2字节的发送次数和1字节的属性信息。其中目标地址是要存入任务队列,发送信息和发送字数存入RAM,属性信息控制发送模块的移位始终和帧间的发送间隔。目标地址的范围是201-216(十进制),发送信息的最后一位为奇偶校验位;发送次数的范围为0-65535;波特率有36k、48k和50kbps;发送间隔为4-32个发送时钟。
(4)任务队列:任务队列的设计是整个系统设计的重点。其主体为一个深度为16的堆栈,所完成的功能是:当接收缓存接收到一帧(32位)数据时,判断Label的值是否已存在于栈里,如果栈中没有和此次接受到的Label相同,则把此Label压入栈,并把缓存中的Label+Messages+Cycles(共6 Bytes)写入RAM中相应的位置;如果栈中有和此次接受到Label相同,则产生标志RENEW=1,不把Label压入栈,只把缓存中的Label+Messages+Cycles(共6 Bytes)寫入RAM中相应的位置即可。任务队列中的任务依次发送,如某任务已经发送到Cycles中的次数,则从栈中清除此任务,位于其后的任务依次向栈底移动一个字节。
(5)双口RAM:设计中利用FPGA的Block Ram存储数据,调用IP Core Dual Port Block Memory,从而可以节省FPGA的许多资源,读写数据宽度均为48bit,深度为16。由于对RAM有两个读操作和一个写操作,同时三个操作是异步的,故采用双口RAM。PortA为只写属性,在ClkA下降沿写入数据;PortB为只读属性,在ClkB下降沿输出数据。端口操作与通常所用存储器读写操作类似。在EN有效且WEN无效时,输出端口DOUT在CLK的下降沿输出地址端口ADDR所对应地址的RAM中的数据;在WEN有效时,输入端口DIN在CLK的下降沿把数据写入ADDR所对应地址的RAM中。
(6)发送模块:发送模块完成的功能是把从RAM中读出的数据进行并串转换,产生串行输出。Caption控制串行输出的波特率和帧间间隔。其由一32比特的发送缓存以及32比特的移位寄存器组成。移位寄存器中的数据在移位时钟的作用下按照先Label后Messages的顺序依次移出,在信息发送完毕时使发送请求信号REQUEST有效。然后每一个脉冲到来时间隔寄存器的值减1,当寄存器的值为0时把发送缓存的数据读入移位寄存器并进行移位。将串行输出取反,并与时钟信号进行与运算产生符合429要求的波形,最后输出至FPGA外部电平转换电路。
7 软件设计
PC软件的设计在Turbo C 2.0编译环境下编译通过。启动界面后,系统默认状态为: Labe1=201,Message=“ABC”,Interval=9,Cycles=100,Baud rate=1(36kbps)通过UP、DOWN键选中要编辑的内容,修改完毕后,选中SEND选项,按下ENTER调用send()子程序完成发送。程序流程图如图所示:
参考文献
[1] 林明权.VHDL数字控制系统设计范例.电子工业出版社,2003.1.
[2] 杨恒,卢飞成.FPGA/VHDL快速工程实践入门与提高.北京航空航天大学出版社,2003.4.
[3] 姜涛,谢小方,宇伟.ARINC429总线在航空设备中的应用.航空计算技术,1997.3.
一种数字编码串行发讯器的设计 第12篇
卷烟厂喂丝送丝是制丝车间最后一道工序, 主要设备包括贮丝柜、喂丝机以及接驳风管等, 一个喂丝机对应多个贮丝柜, 喂丝机与贮丝柜之间通过辅联皮带传输烟丝。烟丝到达喂丝机后, 喂丝机通过接驳卷接包机组与喂丝机之间的风送管道将烟丝风送到卷接机组。由于卷烟品牌多样性及机组数量的限制, 一般情况下, 接驳的风管需要可以灵活地从不同的喂丝机接驳到不同的卷接机组上, 实现柔性化生产。
2 制丝车间喂丝送丝工序的现状
目前, 在制丝车间喂丝送丝工序中, 机台与喂丝机风管的接驳由工人手工完成, 软管两端分别接入喂丝机风送管道和卷包机台风送管道, 二者之间的对应关系完全由人工核对。而人工接驳管道时有可能将应该连在A点的管道错误地连到B点, 而这两个点甚至不在同一台喂丝机上, 导致卷接机组获得错误牌号的烟丝, 造成错牌, 酿造生产事故, 而这种事故不容易快速发现, 对质量影响广泛持久。因此, 该问题亟需解决。
3 一种数字编码串行发讯器的设计
针对上述问题, 设计一种数字编码串行发讯器, 能够及时有效防止人工接驳错误, 该发讯器主要特点在于:PLC技术与数字电路技术有机结合;编码方式是数字串行的, 具有较高的抗干扰能力;响应快速、维护方便、可移植性强等。
3.1 硬件设计
该数字编码器串行发讯器硬件 (配套硬件) 主要包含PLC、IO采集点以及发讯盒, 如图1所示。将信号接收电缆及插座转接盒安装并固定在无需判断编号的固定端, 如固定的风管、桥架、设备的基础等处, 将信号接收电缆的一端连接到配套的插座上, 另一端连接PLC。配套的插座上配有PG11的波纹管接头, 所以电缆要配与其机械兼容的波纹管。
3.2 发讯盒设计
数字编码器串行发讯盒电路板主要由移位寄存器、电源模块、光耦以及电容和电阻构成, 如图2所示。
与信号接收电缆配套的插座中共有5芯, 其排列为:24VDC;0VDC;Frame_Syc数据帧同步信号;R_Pulses读数脉冲;Data输出。其中, 第3、第4芯接PLC的数字量输出信号 (24VDC) , 第5芯接PLC的数字量输入信号 (24VDC) 。多个发讯器可以共享PLC的数据帧同步信号和读数脉冲信号, 一组设备 (或部件) 只需PLC提供一对数字量输出信号即可。
3.3 电气参数
数字编码器串行发讯器的电气参数如表1所示。
3.4 工作原理
PLC每隔640ms, 发出一个脉宽为40ms的“帧同步”脉冲, 即PLC以640ms为周期不断地读取数字编码串行发讯器的编码。
当40ms“帧同步”信号结束后, PLC以80ms周期、50%占空比发出“读数脉冲”。数字编码串行发讯器收到“读数脉冲”的上升沿后, 将下一个数据位输出, 每读一个数据, 该数据就被赋予PLC中一个字的最低位, 之后PLC将该数据字左移一位。PLC重复上述过程直到收到最后一位。
数字编码串行发讯器收到“帧同步”信号后, 8位数据被写入74LS165, 同时最后一位 (第8位) 被放到数据输出线上 (自动输出) 。所以当“帧同步”信号结束、“读数脉冲”尚未发出时, PLC先读取一次数据, 否则就会漏掉第一位数据。当数字编码串行发讯器收到第一个“读数脉冲”时, 会将倒数第二位 (第7位) 数据输出。因此, PLC只需连续发出7个“读数脉冲” (读取7次) 就可将8位数据读完。
读数过程如下:
(1) PLC发出“帧同步”信号。
(2) “帧同步”信号结束时, PLC读一次数据, 将其放到输入数据字的最低位, 并将输入数据字左移一位。
(3) PLC发出第一个“读数脉冲”的下降沿, 数字编码串行发讯器已经把新的一位数据放到自己的数据输出线 (连接到PLC的开关量输入点) 上, PLC读一次数据, 将其放到输入数据字的最低位, 并将输入数据字左移一位。
(4) PLC重复 (3) 的过程, 直到剩下的7个数据位都被读完。
(5) 在PLC发出下一个“帧同步”信号之前, 将收到的完整数据字右移一位。
(6) 收到的最终数据输出。
4 喂丝送丝工序中的防错实现
喂丝送丝工序中的防错主要由喂丝机与机台进行牌号比对来实现的。操作人员完成风管接驳后, 将捆绑在软管的线缆两端分别接到喂丝机的发讯盒及卷包机台的插座盒, PLC会自动读取发讯盒的编号, 即每台卷包机台所连接的喂丝机风管。纠错防错系统PLC会对接驳状态及烟牌信息进行比对, 并将比对结果发送给相应的系统, 同时给出声光报警信息, 通过触摸屏上的监控系统实时显示风管接驳状态、烟牌比较结果, 实现喂丝送丝过程防错功能。
摘要:针对制丝车间喂丝机与机台牌号比对由人工完成的现状, 介绍一种数字编码串行发讯器的设计。该发讯器能有效防止风管接驳错误, 并具有高可靠性、维护方便、可移植性强等特点。
关键词:串行发讯器,数字编码,防错
参考文献
[1]陈堂敏.脉冲发讯器的机械干扰及对策[J].工业计量, 1998, (04)
[2]廖常初.S7-300/400 PLC技术[M].北京:机械工业出版社, 2005
[3]阎石.数字电子技术基础[M].北京:高等教育出版社, 2008