AT24系列存儲器數(shù)據(jù)串并轉(zhuǎn)換接口的IP核設(shè)計
發(fā)布時間:2008/5/27 0:00:00 訪問次數(shù):744
    
    
    來源:現(xiàn)代電子技術(shù) 作者:譚文虎 彭新生 劉守印 黃光明
    
    摘 要 at24系列eeprom芯片是基于i2c(inter-integrated circuit)總線協(xié)議而設(shè)計的。該存儲器與微處理器通信,需要把串行數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù),或把并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù)后,通信過程才能進(jìn)行。介紹用vhdl語言設(shè)計該存儲器數(shù)據(jù)串并轉(zhuǎn)換接口的ip核,從而通過硬件(fpga或其他可編程芯片)實(shí)現(xiàn)at24系列存儲器與8位微處理器之間的并行通信。
    
    關(guān)鍵詞 i2c總線 at24系列存儲器 vhdl 串并轉(zhuǎn)換 微處理器
    
    1 i2c總線的基本概念
    
    i2c總線協(xié)議是philips公司推出的總線協(xié)議。它是多主機(jī)總線,通過2根線(sda-aserial data line,scl-a serial clock line)與連接到總線上的器件之間傳送信息,根據(jù)地址識別每個器件。例如,微控制器、lcd驅(qū)動器、存儲器、鍵盤,連接的器件可以工作在發(fā)送和(或)接收狀態(tài)。很顯然,lcd驅(qū)動器等一些器件只能是接收器,而存儲器可以發(fā)送和接收數(shù)據(jù)。對于at24系列存儲器來說,器件的地址是通過把地址輸入端a0,a1,a2進(jìn)行硬件連接來確定的。
    
    圖1是典型的i2c總線結(jié)構(gòu)。sda和scl都是雙向線,通過上拉電阻接正電源。當(dāng)總線空閑時,這兩根線處于高電平狀態(tài),連到總線的器件的輸出級必須是開漏極或集電極開路,以具有線“與”的功能。設(shè)備與總線的接口電路如圖2所示。
    
    
    
    2 i2c總線的數(shù)據(jù)傳輸
    
    在i2c總線的數(shù)據(jù)傳輸過程中,定義了開始和停止信號。如圖3所示,scl保持“高”,sda由“高”變?yōu)椤暗汀睘殚_始信號;scl保持“高”,sda由“低”變?yōu)椤案摺睘橥V剐盘。開始(s)和停止(p)信號由主器件產(chǎn)生。在時鐘高電平期間上的數(shù)據(jù)必須保持穩(wěn)定,如圖4所示,只有在時鐘線scl的時鐘低電平期間,sda線上高電平或低電平才能變化。
    
    
    
    
    
    
    
    到sda線上的每個字節(jié)必須是8位長度,每次傳輸?shù)淖止?jié)數(shù)是不受限制的,每個字節(jié)后面必須跟一個響應(yīng)位。如果一個接收器件在完成其他功能前(如一個內(nèi)部中斷)不能接收另一個數(shù)據(jù)的完整字節(jié)時,可以使時鐘保持低電平,以促使發(fā)送器進(jìn)入等待狀態(tài)。當(dāng)接收器準(zhǔn)備好接收下一個數(shù)據(jù)字節(jié)并釋放scl線,數(shù)據(jù)傳輸繼續(xù)進(jìn)行。圖5表示出了i2c總線上的數(shù)據(jù)傳送時序。
    
    數(shù)據(jù)傳送具有應(yīng)答是必須的。與應(yīng)答對應(yīng)的時鐘脈沖由主控器件產(chǎn)生。發(fā)送器在應(yīng)答期間必須下拉sda線。當(dāng)尋址的被控器件不能應(yīng)答時,數(shù)據(jù)保持為高,于是主器件產(chǎn)生停止信號終止傳輸。
    
    
    
    3ip核的設(shè)計
    
    3.1該ip核設(shè)計與軟件實(shí)現(xiàn)的比較
    
    在i2c總線的應(yīng)用中,實(shí)現(xiàn)微機(jī)與at24系列存儲器之間的通信,可以把微機(jī)的通用i/o口作為i2c總線的接口,通過匯編由軟件控制實(shí)現(xiàn)數(shù)據(jù)的傳輸。由于軟件在操作上時間的原因,速度總要受到限制。并且匯編控制也很難作為一個統(tǒng)一的標(biāo)準(zhǔn)在應(yīng)用中推廣。通過ip核設(shè)計,我們可以在硬件上實(shí)現(xiàn)數(shù)據(jù)串并轉(zhuǎn)換的目的。工作的速度只與存儲器本身的特性有關(guān),克服了軟件在此方面的不足。
    
    3.2系統(tǒng)設(shè)計方案
    
    該系統(tǒng)主要由i2c串行移位寄存器(ssr)、數(shù)據(jù)緩沖寄存器(idbr)、控制寄存器(icr)、狀態(tài)寄存器(isr)、從地址寄存器(iccr)、scl產(chǎn)生器(scl generator)及其他總線組成。圖6為其基本內(nèi)部結(jié)構(gòu)。
    
    在該系統(tǒng)中,ssr把并行數(shù)據(jù)變?yōu)榇袛?shù)據(jù),傳輸給存儲器,或者把存儲器的串行數(shù)據(jù)變?yōu)椴⑿袛?shù)據(jù),傳輸為處理器;idbr把并口來的數(shù)據(jù)或把被
    
    
    來源:現(xiàn)代電子技術(shù) 作者:譚文虎 彭新生 劉守印 黃光明
    
    摘 要 at24系列eeprom芯片是基于i2c(inter-integrated circuit)總線協(xié)議而設(shè)計的。該存儲器與微處理器通信,需要把串行數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù),或把并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù)后,通信過程才能進(jìn)行。介紹用vhdl語言設(shè)計該存儲器數(shù)據(jù)串并轉(zhuǎn)換接口的ip核,從而通過硬件(fpga或其他可編程芯片)實(shí)現(xiàn)at24系列存儲器與8位微處理器之間的并行通信。
    
    關(guān)鍵詞 i2c總線 at24系列存儲器 vhdl 串并轉(zhuǎn)換 微處理器
    
    1 i2c總線的基本概念
    
    i2c總線協(xié)議是philips公司推出的總線協(xié)議。它是多主機(jī)總線,通過2根線(sda-aserial data line,scl-a serial clock line)與連接到總線上的器件之間傳送信息,根據(jù)地址識別每個器件。例如,微控制器、lcd驅(qū)動器、存儲器、鍵盤,連接的器件可以工作在發(fā)送和(或)接收狀態(tài)。很顯然,lcd驅(qū)動器等一些器件只能是接收器,而存儲器可以發(fā)送和接收數(shù)據(jù)。對于at24系列存儲器來說,器件的地址是通過把地址輸入端a0,a1,a2進(jìn)行硬件連接來確定的。
    
    圖1是典型的i2c總線結(jié)構(gòu)。sda和scl都是雙向線,通過上拉電阻接正電源。當(dāng)總線空閑時,這兩根線處于高電平狀態(tài),連到總線的器件的輸出級必須是開漏極或集電極開路,以具有線“與”的功能。設(shè)備與總線的接口電路如圖2所示。
    
    
    
    2 i2c總線的數(shù)據(jù)傳輸
    
    在i2c總線的數(shù)據(jù)傳輸過程中,定義了開始和停止信號。如圖3所示,scl保持“高”,sda由“高”變?yōu)椤暗汀睘殚_始信號;scl保持“高”,sda由“低”變?yōu)椤案摺睘橥V剐盘。開始(s)和停止(p)信號由主器件產(chǎn)生。在時鐘高電平期間上的數(shù)據(jù)必須保持穩(wěn)定,如圖4所示,只有在時鐘線scl的時鐘低電平期間,sda線上高電平或低電平才能變化。
    
    
    
    
    
    
    
    到sda線上的每個字節(jié)必須是8位長度,每次傳輸?shù)淖止?jié)數(shù)是不受限制的,每個字節(jié)后面必須跟一個響應(yīng)位。如果一個接收器件在完成其他功能前(如一個內(nèi)部中斷)不能接收另一個數(shù)據(jù)的完整字節(jié)時,可以使時鐘保持低電平,以促使發(fā)送器進(jìn)入等待狀態(tài)。當(dāng)接收器準(zhǔn)備好接收下一個數(shù)據(jù)字節(jié)并釋放scl線,數(shù)據(jù)傳輸繼續(xù)進(jìn)行。圖5表示出了i2c總線上的數(shù)據(jù)傳送時序。
    
    數(shù)據(jù)傳送具有應(yīng)答是必須的。與應(yīng)答對應(yīng)的時鐘脈沖由主控器件產(chǎn)生。發(fā)送器在應(yīng)答期間必須下拉sda線。當(dāng)尋址的被控器件不能應(yīng)答時,數(shù)據(jù)保持為高,于是主器件產(chǎn)生停止信號終止傳輸。
    
    
    
    3ip核的設(shè)計
    
    3.1該ip核設(shè)計與軟件實(shí)現(xiàn)的比較
    
    在i2c總線的應(yīng)用中,實(shí)現(xiàn)微機(jī)與at24系列存儲器之間的通信,可以把微機(jī)的通用i/o口作為i2c總線的接口,通過匯編由軟件控制實(shí)現(xiàn)數(shù)據(jù)的傳輸。由于軟件在操作上時間的原因,速度總要受到限制。并且匯編控制也很難作為一個統(tǒng)一的標(biāo)準(zhǔn)在應(yīng)用中推廣。通過ip核設(shè)計,我們可以在硬件上實(shí)現(xiàn)數(shù)據(jù)串并轉(zhuǎn)換的目的。工作的速度只與存儲器本身的特性有關(guān),克服了軟件在此方面的不足。
    
    3.2系統(tǒng)設(shè)計方案
    
    該系統(tǒng)主要由i2c串行移位寄存器(ssr)、數(shù)據(jù)緩沖寄存器(idbr)、控制寄存器(icr)、狀態(tài)寄存器(isr)、從地址寄存器(iccr)、scl產(chǎn)生器(scl generator)及其他總線組成。圖6為其基本內(nèi)部結(jié)構(gòu)。
    
    在該系統(tǒng)中,ssr把并行數(shù)據(jù)變?yōu)榇袛?shù)據(jù),傳輸給存儲器,或者把存儲器的串行數(shù)據(jù)變?yōu)椴⑿袛?shù)據(jù),傳輸為處理器;idbr把并口來的數(shù)據(jù)或把被
熱門點(diǎn)擊
- TMS320F2812擴(kuò)展正交解碼脈沖接口的
- NRZ-HDB3碼制轉(zhuǎn)換器設(shè)計
- AD7874--四通道十二位同步數(shù)據(jù)采集器結(jié)
- SDH接口芯片PM5342及其應(yīng)用
- X25054/45 E2 PROM及其與51
- FIFO用做并行數(shù)據(jù)延遲線
- CF卡在數(shù)字音頻系統(tǒng)中的應(yīng)用
- Windows2000下USB接口的IC卡讀
- 新的FT2232C型USB
- 增強(qiáng)CompactPCI的高可用性超越99.
推薦技術(shù)資料
- AMOLED顯示驅(qū)動芯片關(guān)鍵技
- CMOS圖像傳感器技術(shù)參數(shù)設(shè)計
- GB300 超級芯片應(yīng)用需求分
- 4NP 工藝NVIDIA Bl
- GB300 芯片、NVL72
- 首個最新高端芯片人工智能服務(wù)器
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究