当前位置:文档之家› 用Verilog_HDL语言实现并串串并接口的转换

用Verilog_HDL语言实现并串串并接口的转换

第21卷第3期

Vol .21No .3钦州师范高等专科学校学报

J O URNAL O F Q I NZHO U TEACHERS COLL EGE

2006年6月 June .,2006 

[收稿日期]20060428

[作者简介]夏军波(1981-),男,山东潍坊人,解放军郑州防空兵指挥学院教研室教员.

用Veril og HDL 语言实现并串、串并接口的转换

夏军波

(解放军防空兵指挥学院,河南郑州450052)

[摘 要] 在微型计算机系统中,CP U 与外部的基本通信方式有两种,一种是并行通信即数据的各位同时传送,其优点是传输速度较快,但数据有多少位就需要多少条传送线;而串行通信中数据一位一位顺序传送,能节省传送线.用Veril og HDL 语言实现了串并、并串通信接口之间的转换. [关键词]Veril og HDL 语言;串行通信;并行通信

[中图分类号]TP312 [文献标识码]A [文章编号]10085629(2006)03005403

1 理解和认识

硬件描述语言(HDL 2Hard ware Descri p ti on

Language )是一种用形式化方法来描述数字电路

和设计数字逻辑系统的语言1数字逻辑电路设计者可以利用这种语言来描述自己的设计思想,然后利用电子设计自化(E DA )工具进行仿真(本文使用MAX -P LUS II 软件进行仿真),再自动综合到门级电路,然后用ASI C 或S oft -Core 实现其功能.Veril og HDL 是硬件描述语言的一种,用于数字电子系统设计.

异步串行通信规定了字符数据的传送格式,即每个数据以相同的帧格式传送.每一帧信息由起始位,数据位,奇偶校验位和停止位组成.在异步通信中,每一个字符要用起始位和停止位作为字符开始和结束标志,以致占用了时间.所以在数据块传送时,为了提高通信速度,常去掉这些标志,而采用同步传送.同步通信的特点是同步字符作为

传送的开始,从而使收/发取得同步并且每位占用的时间都相等,字符数据之间不允许有空隙,当线路空闲或没有字符可发送时,发送同步字符. 有限状态机是由寄存器和组合逻辑构成的硬件时序电路,其状态(即由寄存器组的1和0的组合状态构成的有限个状态)只能在同一时钟跳变的情况下才能从一个状态转到另一个状态,究竟转向哪一个状态不但取决于各个输入值,还取决于当前状态.(这里指的是M ealy 型有限状态机,而Moore 有限状态机究竟转向哪一状态只取决于当前状态).

2 由并行通信到串行通信转换的

实现

发送fra me 格式(如图一所示)包括八个bit 信息位、一个bit 奇偶校验位以及一个bit 的结束位. 连续传输段包括一个8bit 传输保留寄存器

tbr (trans m itterbuffer register )和一个传输转换

图一 发送fram e 格式

第3期

夏军波:用Veril og HDL 语言实现并串

、串并接口的转换

存器tsr (trans m itter shift register ).Tbre 和tsre 分别用来表示tbr 和tsr 的状态.

W rn 是控制数据从din [7:0]到tbr[7:0]的使能信号,它是一个双缓存寄存器.当没有数据输入时,寄存器中的值均为1,一旦第一个寄存器里的值变为0,wrn 便开始起作用,tbre 变为高电平,说明din 已经开始往tbr 中填充数据,tbr 不再为空. 数据被载到tbr 后,连续数据传输将自动激活.最初是一个开始bit (0)传输,然后tbr 中的数据会并行地传入tsr .然后数据将会以确定的字长被移出tsr .如果奇偶bit 被激活,也将跟随.最后,停止bit 将会出现以指明此fra me 的结束.连续数据fra me 将以1/16clk16x 的频率来传输.如果没有数据传输,sdo 引脚将保持高电平.

为减少误码

,需采用高发低收机制.Clkdiv 是

一个模16计数器,时钟每经过16个周期记数一次,事实上它就是接受数据所用的时钟.

下面使用MAX -P LUS II 软件进行仿真(如图二所示),具体方法如下:

no _bits_sent 用来控制字长,只有当它为零时,w rn 变为低电平才能起作用.no_bits_sent 为1时,tbr 开始将数据传到tsr,此时tsre 变为0.no _

bits_sent 为2时,由fra me 格式,sdo 中开始出现开

始bit0,告诉CP U 开始接收数据了.no _bits_sent 为3时,tsr 中数据串行送入sdo,然后空位补0.一直到no _bits_sent 记数到10时,传送最后一个

bit .no_bits_sent 记到11时,传奇偶校验bit .no _bits_sent 记到12时,传停止位.no_bits_sent 为13

时,tbre 变为0,表示tbr 为空.等待下次w rn 变为

0,开始下次传送.

图二 并串转换模块仿真

3〈=no _bits_sent 〈=10时串行送数.此时

tsr 中传出一个bit 后在后面补一个0.最开始的数

据时并行数据11,后来tsr 中的数据的变化为: no_bits_sent ==2 00010001 11 no_bits_sent ==30010001022 no_bits_sent ==40100010044 no_bits_sent ==51000100088 no_bits_sent ==60001000010 no_bits_sent ==70010000020 no_bits_sent ==80100000040 no_bits_sent ==91000000080 no_bits_sent ==10

00000000

00

与仿真结果完全一致,系统实现并串变换的程序为: if ((no_bits_sent >=4’b0011)&&(no_bits

_sent <=4’b1010))

begin

tsr[7:1]<=tsr[6:0];

tsr[0]<=1’b0; sdo <=tsr[7];

3 由串行通信到并行通信转换的

实现

接收段包括8bit 接收保留寄存器rbr (Receiv 2

er Buffer Register )和接收转换寄存器rsr (Receiver Shift Register ).

Rxd 是数据输入引脚,没有数据传输时,一直保持高电平,所以有数据输入时,必须先输入一个bit0做为开始bit .数据是从rxd 从高到低串行输入的. 为了避免由于信号噪声而接收一个错误数据,必须执行检测错误的起始比特.这就要求起始比特至少在接收波特率时钟50%的时间内保持低电平.由于内部时钟clk16x 是接收波特率时钟频率的16倍,所以起始比特至少保持低电平

8clk16x 才能被认为是正确的开始比特.一旦一个

5

5

钦州师范高等专科学校学报

第21卷

有效的起始比特被接收,

数据和奇偶比特将每隔

16clk16x 时钟被接收.

no_bits_rcvd 用来控制数据的长度和传输次序.1〈=no_bits_rcvd 〈=10时数据串行地传到rsr . R sr 往rbr 中送数是并行送入的,程序如下: if (no_bits_rcvd ==4’b1010) begin

rbr <=rsr ;

no_bits_rcvd ==11时,data_ready ==1.data

_ready 是一个标志位.data _ready ==1时,说明rbr 中已经有数据了,当使能信号rdn 变为0时就

可以往dout 中送数了,一旦rdn 变为0,data_ready 马上变为0,等待下次往rbr 中送数.

当rdn 变为1后,dout 中数据传完,重新变为高阻ZZ .

仿真如图三所示

:

图三 串并转换模块仿真

如图所示仿真图形:

串行输入的数据是10101010(AA ),那么rsr 中的数据变化情况如下: no_bits_rcvd ==20000000101 no_bits_rcvd ==30000001002 no_bits_rcvd ==40000010105 no_bits_rcvd ==5000001010A no_bits_rcvd ==60001010115 no_bits_rcvd ==7001010102A no_bits_rcvd ==80101010155 no_bits_rcvd ==9

10101010

AA

与仿真结果完全一致,系统实现此变换的程序为:

if (no _bits_rcvd >=4’b0001&&no _bits_

rcvd <=4’b1001)

begin

rsr[0]<=rxd2; rsr[7:1]<=rsr[6:0];

至此,本设计实现了用Veril og HDL 语言实现串并、并串通信接口之间的转换。转换实现后即可进行CP U 与单片机之间的同步以及异步通信.

On How to Reach the I n terface Tran sfers of Para llel 2ser i es and

Ser i es -para llel by the Language Perform s of Ver ilog HDL

X I A Jun 2bo

(Co mm and ing College of the PLA A nti -aircraft U n its,Zhengzhou 450052,China )

Abstract:I n the syste m of m ini -co mputer exist t w o kinds of CP U and external basic communicati on mode:one is the paral 2

lel communicati on,i .e .,the si m ultaneous communicati on of digits with the advantage of faster communicating s peed but the e 2quality of digits and communicating lines;the other is the series communicati on with the digit t o digit sequence and saving of com 2municati on lines .The paper suggests that it is feasible t o reach the interface transfers of the parallel -series and the series -par 2allel by the language perfor m s of Veril og HDL.

Key words:the language perf or m s of Veril og HDL;parallel communicati on;series communicati on

[责任编辑 黄 梅]

6

5

相关主题
文本预览
相关文档 最新文档