日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機(jī)電之家資源網(wǎng)
單片機(jī)首頁|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
用VHDL設(shè)計專用串行通信芯片
用VHDL設(shè)計專用串行通信芯片
 更新時間:2008-8-16 21:09:40  點擊數(shù):18
【字體: 字體顏色

    摘要:一種專用串行同步通信芯片(該芯片內(nèi)部結(jié)構(gòu)和操作方式以INS8250為參考)的VHDL設(shè)計及CPLD實現(xiàn),著重介紹了用VHDL及CPLD設(shè)計專用通信芯片的開發(fā)流程、實現(xiàn)難點及應(yīng)注意的問題。

    關(guān)鍵詞:VHDL FPGA CPLD UART 統(tǒng)計時分復(fù)用器

在通信系統(tǒng)中,通信芯片是整個硬件平臺的基礎(chǔ),它不僅完成OSI物理層中的數(shù)據(jù)發(fā)送和接收,還能根據(jù)傳輸方式和協(xié)議的不同實現(xiàn)不同的數(shù)據(jù)校驗方式及數(shù)據(jù)組幀格式。

目前,許多廠商都提供通用的串行通信芯片,其傳輸方式分為同步方式和異步方式。其中,異步芯片大多與INTEL的8250芯片兼容;而同步方式,由于一般涉及到所支持的傳輸協(xié)議(BSC、HDLC、SDLC等),所以當(dāng)用戶要求應(yīng)用特定的同步傳輸協(xié)議時,往往需要設(shè)計專用的SRT(同步收發(fā)器)。以前,大多采用通用的邏輯元器件進(jìn)行設(shè)計,這導(dǎo)致了設(shè)計和調(diào)試過程冗長、系統(tǒng)穩(wěn)定性不高,非常不便。如今,隨著以FPGA和CPLD為代表的可編程ASIC技術(shù)的日趨成熟和完善,用戶完全可以根據(jù)自己的要求,以EDA技術(shù)作為開發(fā)手段,用一塊FPGA或CPLD設(shè)計出符合自己需要的芯片。本文以開發(fā)統(tǒng)計時分復(fù)用器中的專用同步收發(fā)芯片為例,介紹整個芯片的開發(fā)流程。

1 統(tǒng)計時分復(fù)用器系統(tǒng)功能及模塊組成

統(tǒng)計時分復(fù)用器完成7路異步數(shù)據(jù)和1路同步數(shù)據(jù)的復(fù)接工作,其功能框圖如圖1所示,同步串口傳輸協(xié)議如圖2所示。由于傳輸距離較近且路數(shù)不多,功能相對簡單。出于系統(tǒng)功耗和成本的考慮,將這個專用的SRT和整個接口控制單元集成到一塊CPLD(XC95144)中。

2 CPLD內(nèi)部功能框圖及設(shè)計

CPLD內(nèi)部結(jié)構(gòu)主要由接口控制單元和SRT組成,這里主要介紹一下SRT的結(jié)構(gòu)和功能模塊(見圖3)。由于選用的UART(通用異步收發(fā)器)與INS8250兼容,為簡化主控單元訪問外部通信芯片的程序的編寫,統(tǒng)一操作流程,在SRT的設(shè)計上盡量模仿INS8250的結(jié)構(gòu)。

本設(shè)計采用模塊化設(shè)計。按功能將SRT內(nèi)部結(jié)構(gòu)發(fā)分為5個模塊,每一個模塊對應(yīng)一個VHDL的設(shè)計文件。這樣設(shè)計的好處是有利于各功能模塊的編寫和調(diào)試,從而降低了整個SRT的調(diào)試難度,提高了軟件的可維護(hù)性及可讀性。下面給出各個設(shè)計文件的外功能簡介(對于其中幾個重要的模塊還列出了端口描述和部分實現(xiàn)代碼):

(1)SRTCRTL.VHD

SRTCRTL.VHD作為SRT的控制模塊,負(fù)責(zé)地址譯碼,當(dāng)片選信號有效時將數(shù)據(jù)線上的數(shù)據(jù)寫入相應(yīng)的寄存器。SRT芯片內(nèi)部共設(shè)有接收緩存器、發(fā)送保持器、線路控制寄存器、除數(shù)寄存器(高低8位各1個)、自環(huán)控制寄存器等6個控制寄存器,每個寄存器都被分配了1個地址,通過對相應(yīng)地址進(jìn)行讀寫,CPU可完成數(shù)據(jù)發(fā)送、接收、自環(huán)及芯片參數(shù)設(shè)置等操作。

(2)LOOP.VHD

本模塊的功能是根據(jù)用戶的指令,對芯片本身功能進(jìn)行測試。用戶首先將芯片設(shè)置為自環(huán)狀態(tài),使芯片內(nèi)部發(fā)送數(shù)據(jù)線與直接接收數(shù)據(jù)線短接;再通過向發(fā)送保持器寫入特定的數(shù)據(jù),與接收緩存器中讀出的數(shù)據(jù)進(jìn)行比較,看兩者是否相同,用戶即可判斷芯片是否工作正常。

    (3)CLKGEN.VHD

CLKGEN.VHD是波特率發(fā)生器模塊,用來產(chǎn)生發(fā)送同步的時鐘信號doclk。它將除數(shù)寄存器高低各8位共16位數(shù)據(jù)作為除數(shù),對外部2MHz的時鐘源進(jìn)行分頻。用戶可通過修改除數(shù)寄存器的值動態(tài)地改變數(shù)據(jù)傳輸速率,因此操作方便、靈活。

(4)RBR.VHD

RR.VHD作為整個芯片的接收模塊,其中包括接收緩存器、接收數(shù)據(jù)同步、串/并轉(zhuǎn)換。

端口描述如下:

entity rbr is

port (diclk:in STD_LOGIC; --接收數(shù)據(jù)同步時鐘,由發(fā)方提供

rrbr:在STD_LOGIC; --讀接收緩存器信號

rsrbr:in STD_LOGIC; --接收緩存器清零信號

dbus:out STD_LOGIC_VECTOR (7 downto 0);

--8位數(shù)據(jù)線,單向,輸出

dr:out STD_LOGIC; --接收緩存器數(shù)據(jù)有效信號

ren:out STD_LOGIC; --妝收使能信號,通知發(fā)方接收方準(zhǔn)備好可發(fā)送數(shù)據(jù)

di:in STD_LOGIC); --串行接收數(shù)據(jù)線

end rbr;

當(dāng)接收緩存器中無數(shù)據(jù)時,ren信號有效,通知發(fā)送方傳數(shù)據(jù)。然后根據(jù)dilck對di信號采樣,一旦緩存器滿,ren無效,dr有效,通知CPU讀數(shù)。

仿真波形如圖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作為整個芯片的發(fā)送模塊,其中包括發(fā)送保持器、并/串轉(zhuǎn)換。

端口描述如下:

entity wthr is

port (sen:in STD_LOGIC; --發(fā)送使能信號

whtr: in STD_LOGIC; --寫發(fā)送保持器信號

dbus: in STD_LOGIC_VECTOR (7 downto 0;

--8位數(shù)據(jù)線,單向

rsthr:in STD_LOGIC; --清發(fā)送保持器

thre:out STD_LOGIC; --發(fā)送保持器數(shù)據(jù)空

thre:out STD_LOGIC; --發(fā)送串行數(shù)據(jù)線

clkout:out STD_LOGIC; --發(fā)送數(shù)據(jù)同步時鐘信號

sclk: in STD_LOGIC); --波特率發(fā)生器產(chǎn)生的分頻信號

end wthr;

當(dāng)發(fā)送保持器無數(shù)據(jù)時,thre信號有效,通知CPU可寫。一旦CPU寫入數(shù)據(jù)且sen有效,便根據(jù)波特率發(fā)生器產(chǎn)生的sclk信號將數(shù)據(jù)并/串轉(zhuǎn)換,并通過dout和clkout將串行數(shù)據(jù)和同步時鐘發(fā)送。

[1] [2] [3]  下一頁
  • 上一篇: 用8位單片機(jī)實現(xiàn)串口-以太網(wǎng)轉(zhuǎn)換器
  • 下一篇: IrDial協(xié)議及其應(yīng)用和實現(xiàn)
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術(shù)支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實性、準(zhǔn)確性和合法性。
    機(jī)電之家對此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機(jī)電之家,機(jī)電之家將及時作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會
    中國行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1