国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

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

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

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

1.1 主要硬件簡介

EPM7128是可編程的大規模邏輯器件,為ALTERA公司的MAX7000系列產品,具有高阻抗、電可擦等特點,可用門單元為2500個,管腳間最大延遲為5ns,工作電壓為+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分別送給分頻器、兩個串行口的片選信號,ORG是晶振送給分頻器的振蕩脈沖,CLK 是分頻器輸出的脈沖FrameCLK和PCMCLK,WFIFO、RFIFO是由CPLD生成的包含地址信息的訪問FIFO的讀寫脈沖, DATA_IN1和DATA_IN2為串行口輸入數據,PCM_DATA是數據合并轉換器輸出的PCM流,PCMCLKA為輸出的碼同步時鐘,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反相后作為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,
實現數據合并//
?}
本文地址:http://m.qingdxww.cn/thread-13835-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 5分鐘詳解定時器/計數器E和波形擴展!
  • 想要避免發生災難,就用MPLAB® SiC電源仿真器!
  • 安靜高效的電機控制——這才是正確的方向!
  • 基于CEC1712實現的處理器SPI FLASH固件安全彈性方案培訓教程
  • 貿澤電子(Mouser)專區

相關在線工具

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲综合在线观看视频 | 精品黑人一区二区三区 | 妈妈的朋友伦理片在线观看 | 日韩色网| 国产噜噜噜精品免费 | 日韩成人动漫在线观看 | 国产欧美国产精品第一区 | 毛片免费全部免费播放 | 男女爱爱视频免费看 | 99欧美| 日本免费网站 | 九九热视频免费观看 | 国产中出视频 | 麻豆国产13p | 欧美成人a大片 | 国产精品1区2区3区在线播放 | 91九九| 青青草精品| 国产a精品三级 | 99pao在线视频精品免费 | ww国产| 日韩欧一级毛片在线播无遮挡 | 亚洲精品视频专区 | 亚洲www.| 老司机亚洲精品影院在线观看 | 97在线视| 日韩成年人视频 | 欧美一区二区精品系列在线观看 | 一本毛片| 欧美极品一区 | 大蕉久久伊人中文字幕 | 在线中文字幕亚洲 | 99热日韩 | 国产精品国产三级国产专不∫ | 欧美日韩精彩视频 | 鬼片大全恐怖片免费 | 五月婷婷之综合激情 | 色香婷婷| 家庭教师在线观看 | 欧美日韩1区 | 视频在线一区二区 |