日韩欧美自拍在线观看-欧美精品在线看片一区二区-高清性视频一区二区播放-欧美日韩女优制服另类-国产精品久久久久久av蜜臀-成人在线黄色av网站-肥臀熟妇一区二区三区-亚洲视频在线播放老色-在线成人激情自拍视频

基于CPLD芯片EPM7128設(shè)計數(shù)據(jù)合并轉(zhuǎn)換器

出處:gsypuma 發(fā)布于:2007-05-25 14:41:02

摘要:介紹了基于CPLD芯片EPM7128設(shè)計的數(shù)據(jù)合并轉(zhuǎn)換器。其中,控制串行口數(shù)據(jù)合并時間的計數(shù)器電路和并行數(shù)據(jù)轉(zhuǎn)換成串行的移位電路都是在CPLD中完成的,數(shù)據(jù)塊合并由相應(yīng)的軟件實現(xiàn),終形成PCM流輸出。
關(guān)鍵詞:CPLD 數(shù)據(jù)合并轉(zhuǎn)換器 串行口 PCM流

 

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

 

1 數(shù)據(jù)合并轉(zhuǎn)換器硬件電路
1.1 主要硬件簡介
EPM7128是可編程的大規(guī)模邏輯器件,為ALTERA公司的MAX7000系列產(chǎn)品,具有高阻抗、電可擦等特點,可用門單元為2500個,管腳間延遲為5ns,工作電壓為+5V。
IDT7205為FIFO型異步讀寫的存儲器芯片,容量為8192×9比特,存取時間為12ns,有空、半滿、滿三個標(biāo)志位,功耗為660mW,工作電壓為+5V。
MSM486DX屬于PC104嵌入式系統(tǒng)的5X86系列,為AMD-133MHz CPU,具有COM1、COM2兩個串口,一個LPT并口,一個FLOPPY接口,一個IDE接口,一個VGA/LCD接口,一個AT-KEYBOARD 接口,16個中斷,額定功率為8W,工作電壓為+5V。
1.2 數(shù)據(jù)合并轉(zhuǎn)換器電路框圖
可編程的數(shù)據(jù)合并轉(zhuǎn)換器電路框圖如圖1所示。圖中,DB為數(shù)據(jù)總線,AB為地址總線,R和W分別為讀寫信號線,INT5、INT7、INT10和INT11為四個中斷,CS1、CS2和CS3是在CPLD內(nèi)部生成的地址譯碼器Addr-encoder分別送給分頻器、兩個串行口的片選信號,ORG是晶振送給分頻器的振蕩脈沖,CLK 是分頻器輸出的脈沖FRAMECLK和PCMCLK,WFIFO、RFIFO是由CPLD生成的包含地址信息的訪問FIFO的讀寫脈沖, DATA_IN1和DATA_IN2為串行口輸入數(shù)據(jù),PCM_DATA是數(shù)據(jù)合并轉(zhuǎn)換器輸出的PCM流,PCMCLKA為輸出的碼同步時鐘,WORLDCLKA為輸出的字同步時鐘。
1.3 電路工作分析
晶振把時鐘脈沖送給分頻器,分頻器含有兩個可編程的定時器。分頻器把可控的FRAMECLK和PCMCLK送給CPLD,在CPLD內(nèi)部經(jīng)過邏輯組合形成三路脈沖信號,一路控制計數(shù)器形成INT5、INT7兩個幀頻中斷觸發(fā)脈沖,CPU接到中斷后立即寫FIFO;另一路控制移位寄存器把并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù)PCM流;第三路形成RFIFO去連續(xù)讀FIFO。兩個串行口通過中斷方式(INT10、INT11)接收到外部數(shù)據(jù)后,暫存緩沖區(qū)內(nèi),按一定格式由中斷INT5控制寫給FIFO。
2 CPLD內(nèi)部邏輯電路
CPLD內(nèi)部邏輯電路如圖2所示。圖中,虛線框內(nèi)為CPLD內(nèi)部電路,虛線框外為CPLD的I/O口。
2.1 地址譯碼器
地址譯碼器Addr-encoder用VHDL語言生成。Addr-encoder的輸出有總線驅(qū)動器芯片74245的使能脈沖ENB,總線傳輸方向的使能脈沖DIR,寫FIFO操作脈沖WFIFO,分頻器和串行口的片選CS1、CS2和CS3,F(xiàn)IFO數(shù)據(jù)空滿標(biāo)志脈沖RFIFOFLAG,F(xiàn)IFO復(fù)位時鐘脈沖WCTRL。
2.2 數(shù)據(jù)移位部分
FRAMECLK周期是PCMCLK 的8倍,它們都是分頻器送來的脈沖。FRAMECLK反相后作為FIFO的讀信號,兩次反相后作為字同步時鐘。PCMCLK直接作為移位寄存器74165的時鐘觸發(fā)脈沖,兩者與非后的輸出低電平作為74165重裝載數(shù)據(jù)的觸發(fā)電平。它們的信號時序如圖3所示。

從三者的時序圖可知,每當(dāng)一個字節(jié)的一位完成移位后,在FRAMECLK脈沖反相的下降沿觸發(fā)下讀取FIFO數(shù)據(jù),這時74165的裝載使能74165STD恰好為低電平(與非結(jié)果),完成新數(shù)據(jù)裝載,然后在PCMCLK脈沖的上升沿作用下開始新一輪次的數(shù)據(jù)移位。
2.3 幀長計數(shù)器部分
兩個74161設(shè)計成1/64的分頻器,也叫幀長計數(shù)器,此計數(shù)器的時鐘為FRAMECLK,計數(shù)器的輸出兩位邏輯與為中斷INT7,把與門輸出與次高位邏輯異或為中斷INT5。這樣,INT7比INT5在時序上早半個周期。開機復(fù)位后,INT7脈沖首先產(chǎn)生,觸發(fā)中斷,CPU中斷后在服務(wù)程序中把64個字節(jié)數(shù)據(jù)寫到FIFO,然后屏蔽中斷INT7,半個周期后,F(xiàn)IFO中還剩32個字節(jié)數(shù)據(jù)(因為FIFO的讀脈沖和FRAMECLK反相同頻)。然后中斷INT5到來,CPU響應(yīng)后,再寫64個字節(jié)數(shù)據(jù)給FIFO,使FIFO中一直保持有數(shù)據(jù)的狀態(tài)(可避免讀FIFO正好落在兩個寫FIFO之間,F(xiàn)IFO因無數(shù)據(jù)而讀死)。這樣,每當(dāng)中斷INT5到來,都寫64字節(jié)給FIFO,周而復(fù)始,所以把64字節(jié)定為幀長。
設(shè)PCMCLK的頻率為f(MHz),則FRAMECLK的頻率為f/8,由于幀長為64,所以有:幀頻=f/(8×64),PCM流速率=f(bit/s)。分頻器的分頻比是通過軟件設(shè)定的,所以PCM流的速率可編程。

 

3 軟件設(shè)計
分頻器編程:
outp(0x303,0x36)://方式3,方波。//
outp(0x300,0x50);//timer0,分頻比為80。//
outp(0x300,0x00);
outp(0x303,0x74);//方式2,脈沖。//
outp(0x301,0x08);//timer1,分頻比為8。//
outp(0x301,0x00)
數(shù)據(jù)合并:
if((com1_count%24)==0) ;//串行口1的24字節(jié)數(shù)據(jù)放在
數(shù)組Frame的4~27的位置。//
{
com_buf1[com1_count++]=db1;
//串行口1接收數(shù)據(jù)//
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字節(jié)數(shù)據(jù)放在
數(shù)組Frame的28~51的位置。//
{
com_buf2[com2_count++]=db2
;//串行口2接收數(shù)據(jù)//
int Original_Counter;
Original_Counter=com2_count/24;
Memcpy(Frame[Original_Counter-1]+28,&com_
Buf2[com2_count-24],24) ;//合并后的數(shù)據(jù)放在Frame
 數(shù)組中。//
寫FIFO:
void Send_To_Fifo(int number); //Send_To_Fifo函數(shù)為中斷
服務(wù)程序的一部分。//
{
for int i=0;i<64;i++)
outp(WFIFO Frame[number][i]; //數(shù)組送給FIFO,
實現(xiàn)數(shù)據(jù)合并//
}

 



[1]. CPLD datasheet http://www.hbjingang.com/datasheet/CPLD_1136600.html.
[2]. EPM7128 datasheet http://www.hbjingang.com/datasheet/EPM7128_1135902.html.
[3]. MAX7000 datasheet http://www.hbjingang.com/datasheet/MAX7000_1018713.html.
[4]. IDT7205 datasheet http://www.hbjingang.com/datasheet/IDT7205_1093819.html.
[5]. 12ns datasheet http://www.hbjingang.com/datasheet/12ns_2105238.html.
[6]. 1/64 datasheet http://www.hbjingang.com/datasheet/1%2f64_2510139.html.
[7]. Frame datasheet http://www.hbjingang.com/datasheet/Frame_2528858.html.
[8]. Stefan sjoholm, Lennart lindh.邊計年, 薛宏熙譯.用VHDL設(shè)計電子線路. 北京清華大學(xué)出版社, 2001
[9]. 李廣軍, 王厚軍. 實用接口技術(shù). 成都: 電子科技大學(xué)出版社, 1998
[10]. 譚浩強. C程序設(shè)計. 北京: 清華大學(xué)出版社,1996


  


 


關(guān)鍵詞:基于CPLD芯片EPM7128設(shè)計數(shù)據(jù)合并轉(zhuǎn)換器IDT72052001  74161EPM712874165MAX7000PC104742458192

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

sc2001電源芯片
廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機號碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時間周一至周五
9:00-17:30

關(guān)注官方微信號,
第一時間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務(wù)的動力!意見一經(jīng)采納,將有感恩紅包奉上哦!