当前位置:首页 > 通信技术 > 通信技术
[导读]一种专用串行同步通信芯片(该芯片内部结构和操作方式以INS8250为参考)的VHDL设计及CPLD实现,着重介绍了用VHDL及CPLD设计专用通信芯片的开发流程、实现难点及应注意的问题。

在通信系统中,通信芯片是整个硬件平台的基础,它不仅完成OSI物理层中的数据发送和接收,还能根据传输方式和协议的不同实现不同的数据校验方式及数据组帧格式。

目前,许多厂商都提供通用的串行通信芯片,其传输方式分为同步方式和异步方式。其中,异步芯片大多与INTEL的8250芯片兼容;而同步方式,由于一般涉及到所支持的传输协议(BSC、HDLC、SDLC等),所以当用户要求应用特定的同步传输协议时,往往需要设计专用的SRT(同步收发器)。以前,大多采用通用的逻辑元器件进行设计,这导致了设计和调试过程冗长、系统稳定性不高,非常不便。如今,随着以FPGA和CPLD为代表的可编程ASIC技术的日趋成熟和完善,用户完全可以根据自己的要求,以EDA技术作为开发手段,用一块FPGA或CPLD设计出符合自己需要的芯片。本文以开发统计时分复用器中的专用同步收发芯片为例,介绍整个芯片的开发流程。

1 统计时分复用器系统功能及模块组成

统计时分复用器完成7路异步数据和1路同步数据的复接工作,其功能框图如图1所示,同步串口传输协议如图2所示。由于传输距离较近且路数不多,功能相对简单。出于系统功耗和成本的考虑,将这个专用的SRT和整个接口控制单元集成到一块CPLD(XC95144)中。

2 CPLD内部功能框图及设计

CPLD 内部结构主要由接口控制单元和SRT组成,这里主要介绍一下SRT的结构和功能模块(见图3)。由于选用的UART(通用异步收发器)与INS8250兼容,为简化主控单元访问外部通信芯片的程序的编写,统一操作流程,在SRT的设计上尽量模仿INS8250的结构。

本设计采用模块化设计。按功能将SRT内部结构发分为5个模块,每一个模块对应一个VHDL的设计文件。这样设计的好处是有利于各功能模块的编写和调试,从而降低了整个SRT的调试难度,提高了软件的可维护性及可读性。下面给出各个设计文件的外功能简介(对于其中几个重要的模块还列出了端口描述和部分实现代码):

(1)SRTCRTL.VHD

SRTCRTL.VHD 作为SRT的控制模块,负责地址译码,当片选信号有效时将数据线上的数据写入相应的寄存器。SRT芯片内部共设有接收缓存器、发送保持器、线路控制寄存器、除数寄存器(高低8位各1个)、自环控制寄存器等6个控制寄存器,每个寄存器都被分配了1个地址,通过对相应地址进行读写,CPU可完成数据发送、接收、自环及芯片参数设置等操作。

(2)LOOP.VHD

本模块的功能是根据用户的指令,对芯片本身功能进行测试。用户首先将芯片设置为自环状态,使芯片内部发送数据线与直接接收数据线短接;再通过向发送保持器写入特定的数据,与接收缓存器中读出的数据进行比较,看两者是否相同,用户即可判断芯片是否工作正常。

    (3)CLKGEN.VHD

CLKGEN.VHD是波特率发生器模块,用来产生发送同步的时钟信号doclk。它将除数寄存器高低各8位共16位数据作为除数,对外部2MHz的时钟源进行分频。用户可通过修改除数寄存器的值动态地改变数据传输速率,因此操作方便、灵活。

(4)RBR.VHD

RR.VHD作为整个芯片的接收模块,其中包括接收缓存器、接收数据同步、串/并转换。

端口描述如下:

entity rbr is

port (diclk:in STD_LOGIC; --接收数据同步时钟,由发方提供

rrbr:在STD_LOGIC; --读接收缓存器信号

rsrbr:in STD_LOGIC; --接收缓存器清零信号

dbus:out STD_LOGIC_VECTOR (7 downto 0);

--8位数据线,单向,输出

dr:out STD_LOGIC; --接收缓存器数据有效信号

ren:out STD_LOGIC; --妆收使能信号,通知发方接收方准备好可发送数据

di:in STD_LOGIC); --串行接收数据线

end rbr;

当接收缓存器中无数据时,ren信号有效,通知发送方传数据。然后根据dilck对di信号采样,一旦缓存器满,ren无效,dr有效,通知CPU读数。

仿真波形如图4所示。部分代码如下:

process (rsrbr,diclk) --serial data to parallel data

variable l,m: integer range 0 to 8;

begin

if rsrbr='1'then

s_p<="00000000";

m:=0;

ef<='1';

elsif diclk'event and diclk='1'then

l:=7-m;

s_p(1)<=di;

m:=m+1;

If m=8 then

m:=0;

ef<='0';

end if;

end if;

if rrbr='1' then

dbus>=s_p;

ef<='1';

else dbus<="ZZZZZZZZ";

end if;

end process;

(5)WTHR.VHD

WTHR.VHD作为整个芯片的发送模块,其中包括发送保持器、并/串转换。

端口描述如下:

entity wthr is

port (sen:in STD_LOGIC; --发送使能信号

whtr: in STD_LOGIC; --写发送保持器信号

dbus: in STD_LOGIC_VECTOR (7 downto 0;

--8位数据线,单向

rsthr:in STD_LOGIC; --清发送保持器

thre:out STD_LOGIC; --发送保持器数据空

thre:out STD_LOGIC; --发送串行数据线

clkout:out STD_LOGIC; --发送数据同步时钟信号

sclk: in STD_LOGIC); --波特率发生器产生的分频信号

end wthr;

当发送保持器无数据时,thre信号有效,通知CPU可写。一旦CPU写入数据且sen有效,便根据波特率发生器产生的sclk信号将数据并/串转换,并通过dout和clkout将串行数据和同步时钟发送。

    仿真波形如图5。部分实现代码如下:

process (rsthr,sclk,sen,sef) --parallel data to serial data variable l:integer range 0 to 7;

begin

if rsthr='1' then

m<=0;

1:=7;

sef<='1';

elsif wthr='1'then

sef<='0';

elsif sen='1'and sef='0' then

if sclk'event and sclk='1' then

dout<=w_p(1);

m<=m+1;

l:=1-1;

if m=7 then

m<=0;

1:=7;

esf=<='1';

end if;

end if;

end if;

end process;

3 实现难点及使用VHDL应注意的一些问题

由于VHDL语言是描述硬件行为的,相对其它开发软件的高级语言而言,在编程过程中有一些特殊性,所以经常会出现语法正确但无法综合的问题。其原因多半因为编程者对硬件内部的工作原理了解不够,写出的代码硬件无法实现。通过这块芯片的设计,在此总结出一些应注意的问题,供大家参考:

(1)在一个进程中只允许一个信号上升沿作为触发条件。

(2)信号值改变后要经过一个小的延时才能生效,同个信号不能在多个进程中赋值(因为多个信号源不能同时对同一个信号驱动)。

(3)时序电路和组合电路最好不要在同一个进程中,以免费资源。

(4)一个功能模块最好按上升沿信号分多个进程完成,各进程间用信号联系。

(5)同一个信号在进程中的值改变后,要注意该值改变前后该进程中其它变量的变化,避免逻辑死锁。

(6)在顺序语句中,注意信号因赋值后需延时改变而与变量的不同。

(7)设计双向三态数据线时,内部数据线最好读写分开。与外部结合时,不同读数据线之间,读写数据线之间应使用三态门,且由读信号控制。

本设计由于采用了VHDL语言作为输入方式并细合可编程逻辑门阵列CPLD,大大缩短了设计周期,提高了设计的可靠性、灵活性,使用户可根据自己的需求,方便、高效地设计出适合的串行通信芯片。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

腾盛博药生物科技有限公司公布了两项在美国健康志愿者中开展的评估长效BRII-732和BRII-778的1期研究最新数据,这两种在研候选药物旨在用于治疗人类免疫缺陷病毒(HIV)感染。两项研究结果均表明,BRII-732和...

关键字: FIR ST RS

标普500指数今年迄今为止下跌22.7%,但高盛(Goldman Sachs)策略师认为估值依然太高。摩根士丹利旗下的Morgan Stanley Wealth Management称,面对高通胀环境下的利率大幅上升,股...

关键字: DMA MANAGEMENT 高通 ST

奈飞(Netflix)今年早些时候从数据中看到了一个令人担忧的信号:用户访问该流媒体服务的频率下降了。该公司对其用户在四周时间里观看其内容的天数进行了跟踪,并担心访问频率的下降会增加用户取消订阅的可能性。在发现这一问题之...

关键字: 信号 流媒体 TI ST

郑州2022年10月17日 /美通社/ -- 近日,《福布斯》发布了"2022年全球最佳雇主榜单"(The World's Best Employers 2022),中国平安再度上榜并排名全...

关键字: 福布斯 ST TI BSP

苏州2022年10月17日 /美通社/ -- 开拓药业(股票代码:9939.HK),一家专注于潜在同类首创和同类最佳创新药物研发及产业化的生物制药公司,宣布其自主研发、潜在同类首创的福瑞他恩(KX-826)治疗痤疮的中国...

关键字: ST FDA 代码 ADI

(全球TMT2022年10月11日讯)数字网络集成商STL宣布与Vocus Group合作开展西澳大利亚的地平线项目。在此次合作中,STL将为Vocus的国际资本网络扩展计划提供高强度光纤电缆。这项交易加强了STL与V...

关键字: 光纤网络 ST 电缆 GROUP

马斯克(Elon Musk)旗下的SpaceX公司已开始在日本提供运用卫星通信技术的互联网服务“Starlink(星链)”。日本是首个展开该服务的亚洲国家。该公司打算用该服务来抓住日本的山区和离岛等确保通信手段的需求。官...

关键字: LINK ST SPACEX 互联网

Meta在年度大会上发布新款VR头盔Quest Pro,售价1500美元。Quest Pro使用手机内部和周围的摄像头来捕捉面部运动,它可以实时将这些捕捉到的信息应用于用户的头像和表情。 (全球企业动态)...

关键字: VR ST 手机 摄像头

Meta Quest Pro定于本月25日面市,定价1500美元。零售包装内含头戴装置,Quest Touch Pro手柄,充电底座,压感笔尖(手柄附件),部分遮光罩(另有全遮光罩可选)。开发单位宣称Meta Quest...

关键字: ST AN 传感器 GB

金融科技公司Airwallex空中云汇宣布完成1亿美元E2轮融资。现有投资方Square Peg、Salesforce Ventures、红杉中国、Lone Pine Capital、和暄资本、1835i和腾讯参与了本轮...

关键字: AIR API 腾讯 ST

通信技术

120595 篇文章

关注

发布文章

编辑精选

技术子站

关闭