天堂国产午夜亚洲专区-少妇人妻综合久久蜜臀-国产成人户外露出视频在线-国产91传媒一区二区三区

基于CPLD的異步串行通信設(shè)計

發(fā)布時間:2015-02-15 17:40

摘 要:

摘 要:異步串行通信技術(shù)在電子通信設(shè)備中被廣泛使用。隨著復(fù)雜可編程邏輯器件(CPLD)的發(fā)展,按照異步串行通信的協(xié)議,采用VHDL語言編程,可以將異步串行通信功能集成到CPLD內(nèi),也就是用軟件的方法實現(xiàn)硬件的功能,既減少了元器件數(shù)量、簡化了電路,又提高了設(shè)計的可靠性。

關(guān)鍵詞:

關(guān)鍵詞:CPLD VHDL 異步串行通信

     異步串行通信無需數(shù)據(jù)時鐘、幀同步時鐘等時鐘信號,完全依靠收發(fā)雙方約定的傳輸波特率和數(shù)據(jù)線自身的電平變化來正確的收發(fā)數(shù)據(jù),而且連線簡單,廣泛應(yīng)用于電子通信設(shè)備中。

  由于許多微處理器都沒有異步串行口,為了實現(xiàn)異步串行通信,需要使用專用串行通信芯片,電路設(shè)計比較復(fù)雜。隨著復(fù)雜可編程邏輯器件(CPLD)的發(fā)展,按照異步串行通信的協(xié)議,采用VHDL語言編程,可以將異步串行通信功能集成到CPLD內(nèi),也就是用軟件的方法實現(xiàn)硬件的功能,既減少了元器件數(shù)量、簡化了電路,,又提高了設(shè)計的可靠性。軟件編程采用的VHDL硬件描述語言,設(shè)計靈活,調(diào)試簡單,可以先通過計算機(jī)進(jìn)行仿真,再投入實際使用,可大大降低設(shè)計的風(fēng)險性。


1 異步串行通信基本原理

  所謂異步串行通信是指具有不規(guī)則數(shù)據(jù)段傳送特性的串行數(shù)據(jù)傳輸。異步通信數(shù)據(jù)幀的第一位是起始位,在通信線上沒有數(shù)據(jù)傳送時處于邏輯“1”狀態(tài)。當(dāng)發(fā)送設(shè)備要發(fā)送一個字符數(shù)據(jù)時,首先發(fā)出一個邏輯“0”信號,這個邏輯低電平就是起始位。起始位通過通信線傳向接收設(shè)備,當(dāng)接收設(shè)備檢測到這個邏輯低電平后,就開始準(zhǔn)備接收數(shù)據(jù)位信號。因此,起始位所起的作用就是表示字符傳送開始。當(dāng)接收設(shè)備收到起始位后,緊接著就會收到數(shù)據(jù)位。數(shù)據(jù)發(fā)送完之后,可以發(fā)送奇偶校驗位。奇偶校驗位用于有限差錯檢測,通信雙方在通信時需約定一致的奇偶校驗方式。就數(shù)據(jù)傳送而言,奇偶校驗位是冗余位,但它表示數(shù)據(jù)的一種性質(zhì),這種性質(zhì)用于檢錯,雖有限但很容易實現(xiàn)。在奇偶位或數(shù)據(jù)位之后發(fā)送的是停止位。停止位是一個字符數(shù)據(jù)的結(jié)束標(biāo)志。


2 復(fù)雜可編程邏輯器件(CPLD)

  復(fù)雜可編程邏輯器件—CPLD(Complex Programmable Logic Device),是從PAL的GAL器件發(fā)展出來的器件,相對而言規(guī)范大,結(jié)構(gòu)復(fù)雜,屬于大規(guī)模集成電路范圍。是一種用戶根據(jù)各自需要而自行構(gòu)造邏輯功能的數(shù)字集成電路。其基本設(shè)計方法是借助集成開發(fā)軟件平臺,用原理圖、硬件描述語言等方法,生成相應(yīng)的目標(biāo)文件,通過下載電纜將代碼傳送到目標(biāo)芯片中,實現(xiàn)設(shè)計的數(shù)字系統(tǒng)。


3 VHDL語言

  VHDL的英文全名是Very-High-Speed Integrated Circuit Hardware Description Language,誕生于1982年。1987年底,VHDL被IEEE和美國國防部確認(rèn)為標(biāo)準(zhǔn)硬件描述語言。VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu)、行為、功能和接口。除了含有許多具有硬件特征的語句外,VHDL的語言形式、描述風(fēng)格和句法十分類似于一般的計算機(jī)高級語言。


4 異步串行通信設(shè)計

4.1 總體框圖

  本設(shè)計規(guī)定的數(shù)據(jù)幀格式為:1位起始位,8位數(shù)據(jù)位,1位停止位,無校驗位;波特率為9600bps;系統(tǒng)時鐘頻率為1.8432MHz。程序主要包括波特率發(fā)生器、發(fā)送電路和接收電路三個部分。程序的功能框圖如圖1所示。

           

基于CPLD的異步串行通信設(shè)計

4.2 波特率發(fā)生器

  波特率發(fā)生器實際上就是一個分頻器,主要是根據(jù)要求的串行口波特率,將系統(tǒng)時鐘進(jìn)行分頻,分別產(chǎn)生發(fā)送時鐘和接收時鐘。發(fā)送時鐘的頻率與串行口波特率相同。由于串行數(shù)據(jù)幀與接收時鐘是異步的,為了實現(xiàn)接收時鐘與接收數(shù)據(jù)幀的同步,需要采用高速率時鐘對接收數(shù)據(jù)進(jìn)行采樣,一般選擇16倍于波特率的時鐘頻率作為接收時鐘。本設(shè)計中,系統(tǒng)時鐘(1.8432MHz)12次分頻后得到接收時鐘(153600Hz),再將接收時鐘16次分頻后得到發(fā)送時鐘(9600Hz)。

4.3 發(fā)送電路

4.3.1 發(fā)送電路原理

  發(fā)送電路相對比較簡單,當(dāng)有發(fā)送請求時,按照發(fā)送時鐘的時序,在上升沿時刻依次發(fā)送起始位、8位數(shù)據(jù)和停止位。需要說明的是,8位數(shù)據(jù)的發(fā)送順序是先發(fā)送低位后發(fā)送高位。發(fā)送電路的時序圖如圖2所示。

 

基于CPLD的異步串行通信設(shè)計

4.3.2 發(fā)送電路設(shè)計

  發(fā)送電路采用Moore型狀態(tài)機(jī)的方式設(shè)計,包括:空閑、發(fā)送起始位、發(fā)送數(shù)據(jù)位和發(fā)送停止位四個狀態(tài)。發(fā)送電路的狀態(tài)圖如圖3所示。

  空閑狀態(tài):初始狀態(tài)為空閑狀態(tài),只有在空閑狀態(tài)下,才能檢測是否有發(fā)送請求,當(dāng)檢測到有發(fā)送請求時,將8位數(shù)據(jù)裝入發(fā)送移位寄存器,進(jìn)入發(fā)送起始位狀態(tài)。

發(fā)送起始位狀態(tài):發(fā)送一位起始位,進(jìn)入發(fā)送數(shù)據(jù)位狀態(tài)。

  發(fā)送數(shù)據(jù)位狀態(tài):依次發(fā)送8位數(shù)據(jù),當(dāng)8位數(shù)據(jù)全部發(fā)送完成后,進(jìn)入發(fā)送停止位狀態(tài)。

  發(fā)送數(shù)據(jù)位狀態(tài):發(fā)送一位停止位,表示一幀數(shù)據(jù)發(fā)送完成,再次進(jìn)入空閑狀態(tài)。

 

基于CPLD的異步串行通信設(shè)計

4.4 接收電路

4.4.1 接收電路原理

  接收時鐘在每個時鐘周期都對接收數(shù)據(jù)進(jìn)行采樣,當(dāng)檢測到當(dāng)前數(shù)據(jù)位為“0”而前一個數(shù)據(jù)位為“1”時,即表示檢測到了起始位。為了保證讀取數(shù)據(jù)的可靠性,每個數(shù)據(jù)位均在中間點進(jìn)行采樣,在檢測到起始位后,延遲8個接收時鐘周期,開始依次讀取起始位、數(shù)據(jù)位和停止位,兩次讀取的間隔為16個接收時鐘周期。為了能夠接收連續(xù)兩幀數(shù)據(jù)中的后一幀,讀取到停止位的下一個時鐘周期(而不是延遲8個時鐘周期)即開始檢測起始位。接收電路的時序圖如圖4所示。

 

基于CPLD的異步串行通信設(shè)計

4.4.2 接收電路設(shè)計

  接收電路同樣采用Moore型狀態(tài)機(jī)的方式設(shè)計,包括:空閑、接收起始位、接收數(shù)據(jù)位和接收停止位四個狀態(tài)。接收電路的狀態(tài)圖如圖5所示。

  空閑狀態(tài):初始狀態(tài)為空閑狀態(tài),不斷對數(shù)據(jù)進(jìn)行采樣,檢測起始位,一旦檢測到起始位,即進(jìn)入接收起始位狀態(tài)。

  接收起始位狀態(tài):接收一位起始位,并對起始位的有效性進(jìn)行判別,若為虛假起始位,則返回空閑狀態(tài),若確認(rèn)起始位有效,則進(jìn)入接收數(shù)據(jù)位狀態(tài)。

  接收數(shù)據(jù)位狀態(tài):依次接收8位數(shù)據(jù),當(dāng)8位數(shù)據(jù)全部接收后,進(jìn)入接收停止位狀態(tài)。

  接收停止位狀態(tài):接收一位停止位,表示一幀數(shù)據(jù)接收完成,將8位數(shù)據(jù)送接收緩存,再次進(jìn)入空閑狀態(tài)。

                            

基于CPLD的異步串行通信設(shè)計


5 結(jié)語

  本文對異步串行通信的工作原理、電路設(shè)計進(jìn)行了分析,采用VHDL語言編程,在CPLD上實現(xiàn)了異步串行通信功能。該設(shè)計為固定波特率和數(shù)據(jù)幀結(jié)構(gòu),無需微處理器進(jìn)行額外設(shè)置,操作簡單,使用方便。在實際工程應(yīng)用中,還可以根據(jù)需求,在此基礎(chǔ)上增加波特率設(shè)置、數(shù)據(jù)幀結(jié)構(gòu)設(shè)置、地址譯碼等電路,實現(xiàn)多路、波特率和數(shù)據(jù)幀結(jié)構(gòu)可設(shè)置的異步串行通信。



本文編號:14943

資料下載
論文發(fā)表

本文鏈接:http://sikaile.net/kejilunwen/wltx/14943.html


Copyright(c)文論論文網(wǎng)All Rights Reserved | 網(wǎng)站地圖 |

版權(quán)申明:資料由用戶7f26a***提供,本站僅收錄摘要或目錄,作者需要刪除請E-mail郵箱bigeng88@qq.com
午夜精品在线观看视频午夜| 欧美大黄片在线免费观看| 国产成人亚洲综合色就色| 亚洲熟女一区二区三四区| 国产亚洲不卡一区二区| 丁香七月啪啪激情综合| 在线观看免费无遮挡大尺度视频 | 日韩成人h视频在线观看| 亚洲天堂精品在线视频| 亚洲高清欧美中文字幕| 人妻内射在线二区一区| 亚洲精品欧美精品一区三区| 老司机精品福利视频在线播放| 免费观看日韩一级黄色大片| 国产不卡最新在线视频| 日本成人三级在线播放| 免费播放一区二区三区四区| 日韩精品区欧美在线一区| 久久精品亚洲欧美日韩| 亚洲最新一区二区三区| 国产丝袜极品黑色高跟鞋| 亚洲精品福利入口在线| 成人精品视频一区二区在线观看| 亚洲另类欧美综合日韩精品| 黄色国产自拍在线观看| 黑丝袜美女老师的小逼逼| 国产成人精品一区在线观看 | 老司机这里只有精品视频| 国产欧美日韩精品一区二| 久久人人爽人人爽大片av| 久草精品视频精品视频精品| 久久成人国产欧美精品一区二区| 五月激情婷婷丁香六月网| 日韩中文字幕视频在线高清版| 亚洲欧美日韩中文字幕二欧美 | 一个人的久久精彩视频| 精品少妇人妻av一区二区蜜桃| 日本不卡片一区二区三区| 国产成人精品视频一区二区三区| 中文久久乱码一区二区| 噜噜中文字幕一区二区|