《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業界動態 > 基于CPLD芯片EPM7128設計的數據合并轉換器

基于CPLD芯片EPM7128設計的數據合并轉換器

2008-11-06
作者:魏占永

??? 摘? 要: 介紹了基于CPLD芯片EPM7128設計的數據合并轉換器。其中,控制串行口數據合并時間的計數器電路和并行數據轉換成串行數據的移位電路都是在CPLD中完成的,數據塊合并由相應的軟件實現,最終形成PCM流輸出。?

??? 關鍵詞: CPLD? 數據合并轉換器? 串行口? PCM流

?

??? 數據交換機的傳送速率很高,當其和串行口通信時,在發送前把數據分為兩部分分別發送到串行口,然后經過數據合并轉換器把各個串行口的數據合并在一起并轉換成PCM流。本文介紹了基于CPLD芯片EPM7128設計的數據合并轉換器。?

1 數據合并轉換器硬件電路?

1.1 主要硬件簡介?

??? EPM7128是可編程的" title="可編程的">可編程的大規模邏輯器件,為ALTERA公司的MAX7000系列產品,具有高阻抗、電可擦等特點,可用門單元為2500個,管腳間最大延遲為5ns,工作電壓" title="工作電壓">工作電壓為+5V。?

??? IDT7205為FIFO型異步讀寫的存儲器芯片,容量為8192×9比特,存取時間為12ns,有空、半滿、滿三個標志位,最大功耗為660mW,工作電壓為+5V。?

??? MSM486DX屬于PC104嵌入式系統的5X86系列,為AMD-133MHz CPU,具有COM1、COM2兩個串口,一個LPT并口,一個FLOPPY接口,一個IDE接口,一個VGA/LCD接口,一個AT-KEYBOARD 接口,16個中斷,額定功率為8W,工作電壓為+5V。?

1.2 數據合并轉換器電路框圖?

??? 可編程的數據合并轉換器電路框圖如圖1所示。圖中,DB為數據總線,AB為地址總線,R和W分別為讀寫信號線,INT5、INT7、INT10和INT11為四個中斷,CS1、CS2和CS3是在CPLD內部生成的地址譯碼器Addr-encoder分別送給分頻" title="分頻">分頻器、兩個串行口的片選信號,ORG是晶振送給分頻器的振蕩脈沖,CLK 是分頻器輸出的脈沖FRAMECLK和PCMCLK,WFIFO、RFIFO是由CPLD生成的包含地址信息的訪問FIFO的讀寫脈沖, DATA_IN1和DATA_IN2為串行口輸入數據,PCM_DATA是數據合并轉換器輸出的PCM流,PCMCLKA為輸出的碼同步時鐘" title="同步時鐘">同步時鐘,WORLDCLKA為輸出的字同步時鐘。?

?

?

1.3 電路工作分析?

??? 晶振把時鐘脈沖送給分頻器,分頻器含有兩個可編程的定時器。分頻器把可控的FRAMECLK和PCMCLK送給CPLD,在CPLD內部經過邏輯組合形成三路脈沖信號,一路控制計數器形成INT5、INT7兩個幀頻中斷觸發脈沖,CPU接到中斷后立即寫FIFO;另一路控制移位寄存器把并行數據轉換成串行數據PCM流;第三路形成RFIFO去連續讀FIFO。兩個串行口通過中斷方式(INT10、INT11)接收到外部數據后,暫存緩沖區內,按一定格式由中斷INT5控制寫給FIFO。?

2 CPLD內部邏輯電路?

??? CPLD內部邏輯電路如圖2所示。圖中,虛線框內為CPLD內部電路,虛線框外為CPLD的I/O口。?

?

?

2.1 地址譯碼器?

??? 地址譯碼器Addr-encoder用VHDL語言生成。Addr-encoder的輸出有總線驅動器芯片74245的使能脈沖ENB,總線傳輸方向的使能脈沖DIR,寫FIFO操作脈沖WFIFO,分頻器和串行口的片選CS1、CS2和CS3,FIFO數據空滿標志脈沖RFIFOFLAG,FIFO復位時鐘脈沖WCTRL。?

2.2 數據移位部分?

??? FRAMECLK周期是PCMCLK 的8倍,它們都是分頻器送來的脈沖。FRAMECLK反相" title="反相">反相后作為FIFO的讀信號,兩次反相后作為字同步時鐘。PCMCLK直接作為移位寄存器74165的時鐘觸發脈沖,兩者與非后的輸出低電平作為74165重裝載數據的觸發電平。它們的信號時序如圖3所示。?

?

?

??? 從三者的時序圖可知,每當一個字節的最后一位完成移位后,在FRAMECLK脈沖反相的下降沿觸發下讀取FIFO數據,這時74165的裝載使能74165STD恰好為低電平(與非結果),完成新數據裝載,然后在PCMCLK脈沖的上升沿作用下開始新一輪次的數據移位。?

2.3 幀長計數器部分?

??? 兩個74161設計成1/64的分頻器,也叫幀長計數器,此計數器的時鐘為FRAMECLK,計數器的輸出最高兩位邏輯與為中斷INT7,把與門輸出與次高位邏輯異或為中斷INT5。這樣,INT7比INT5在時序上早半個周期。開機復位后,INT7脈沖首先產生,觸發中斷,CPU中斷后在服務程序中把64個字節數據寫到FIFO,然后屏蔽中斷INT7,半個周期后,FIFO中還剩32個字節數據(因為FIFO的讀脈沖和FRAMECLK反相同頻)。然后中斷INT5到來,CPU響應后,再寫64個字節數據給FIFO,使FIFO中一直保持有數據的狀態(可避免讀FIFO正好落在兩個寫FIFO之間,FIFO因無數據而讀死)。這樣,每當中斷INT5到來,都寫64字節給FIFO,周而復始,所以把64字節定為幀長。?

??? 設PCMCLK的頻率為f(MHz),則FRAMECLK的頻率為f/8,由于幀長為64,所以有:幀頻=f/(8×64),PCM流速率=f(bit/s)。分頻器的分頻比是通過軟件設定的,所以PCM流的速率可編程。?

3 軟件設計?

??? 分頻器編程:?

??? outp(0x303,0x36);//方式3,方波。//?

??? outp(0x300,0x50);//timer0,分頻比為80。//?

??? outp(0x300,0x00);?

??? outp(0x303,0x74);//方式2,脈沖。//?

??? outp(0x301,0x08);//timer1,分頻比為8。//?

??? outp(0x301,0x00);?

??? 數據合并:?

if((com1_count%24)==0) ;//串行口1的24字節數據放在數組Frame的4~27的位置。//?

??? {? ?

??? com_buf1[com1_count++]=db1;?//串行口1接收數據//?

??? int Original_Counter;?

??? Original_Counter=com1_count/24;?

??? memcpy(Frame[Original_Counter-1]+4,&com_buf1[com1_count-24],24);?

??? }?

if((com2_count%24)==0) ;//串行口2的24字節數據放在數組Frame的28~51的位置。//?

??? {?

??????? com_buf2[com2_count++]=db2?;//串行口2接收數據//?

??????? int Original_Counter;?

??????? Original_Counter=com2_count/24;?

??????? memcpy(Frame[Original_Counter-1]+28,&com_?

buf2[com2_count-24],24) ;//合并后的數據放在Frame?

}?????????????????????? ? 數組中。//?

??? 寫FIFO: ?

void Send_To_Fifo(int number);? //Send_To_Fifo函數為中斷服務程序的一部分。//?

{?

??? for(int i=0;i<64;i++)?

??? outp(WFIFO,Frame[number][i]); ? ??//數組送給FIFO,實現數據合并//?

}?

參考文獻?

1 Stefan sjoholm, Lennart lindh.邊計年, 薛宏熙譯.用VHDL設計電子線路. 北京:清華大學出版社, 2001?

2 李廣軍, 王厚軍. 實用接口技術. 成都: 電子科技大學出版社, 1998?

3 譚浩強. C程序設計. 北京: 清華大學出版社,1996

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 搡女人真爽免费视频大全| 亚洲免费黄色网| 亚洲第一页中文字幕| 亚洲国产日韩欧美综合久久| 久久精品国产99国产| 久久18禁高潮出水呻吟娇喘| 中国一级特黄的片子免费 | 蝌蚪视频app下载安装无限看丝瓜苏| 色吊丝av中文字幕| 漂亮诱人的女邻居| 最新亚洲人成无码网www电影| 成年1314在线观看| 国语自产偷拍精品视频偷拍| 国产成人啪精品视频免费网| 出租房换爱交换乱第二部| 亚洲国产一区二区三区在线观看 | 亚洲国产日韩在线成人蜜芽| 久久天天躁狠狠躁夜夜2020一 | 亚洲五月六月丁香激情| 久久久无码中文字幕久...| sihu国产精品永久免费| 黄色香蕉视频网站| 精品国产福利在线观看91啪| 欧美日韩一区二区在线| 抽搐一进一出在深一点| 国产精品美女视视频专区| 国产99在线a视频| 亚洲大尺码专区影院| 中文字幕在线不卡精品视频99| 2019天天做天天拍天天夜| 美女被a到爽视频在线观看| 欧美国产日本高清不卡| 性xxxxhd高清| 国产又黄又爽又猛的免费视频播放| 免费中日高清无专码有限公司| 久久天天躁狠狠躁夜夜avai| 97在线公开视频| 精品女同一区二区三区在线| 暖暖免费中国高清在线| 在线无码VA中文字幕无码| 国产三级在线观看播放|