




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
精品文檔-下載后可編輯基于DSP虛擬I2C總線軟件包的結(jié)構(gòu)設(shè)計-設(shè)計應(yīng)用數(shù)字信號處理器(DSP)在各領(lǐng)域中的應(yīng)用已日趨廣泛,其中TI(TexasInstrument)公司的TMS320系列芯片占據(jù)了主導(dǎo)地位。TMS320F206(簡稱F206)由于具有片內(nèi)32K字的Flash,支持JTAG掃描端口的仿真調(diào)試,并支持程序的串行,便于開發(fā)設(shè)計及產(chǎn)品的軟件升級,因而在中儀器開發(fā)中受到青睞。DSP的處理速度雖然較高,但直接支持的I/O口線較少,控制能力相對較弱,因而與外部器件接口采用串行方式較為適合。常用的串行接口和串行總線有UART、I2C總線,由于I2C總線提供了較完善的總線協(xié)議,且接口電路簡單,因而得到廣泛的應(yīng)用。目前,已有很多外圍器件支持I2C接口,但多數(shù)MCU并不直接支持I2C總線,因而采用I/O口線模擬I2C的方式成為一種通用解決方案。但由于I2C總線協(xié)議的復(fù)雜性及操作管理的特殊性,仍給此類方式的開發(fā)造成了較大不便。好在文獻中提出了一種按平臺模式設(shè)計的、適用于80C51的虛擬I2C總線軟件包,大大簡化了80C51的I2C接口程序設(shè)計,使用戶無需了解I2C總線協(xié)議的細(xì)節(jié),即可實現(xiàn)相應(yīng)的接口。文獻中也給出了一種用于MSP430單片機的軟件包。由于DSP尚無此類軟件包,為簡化DSP的此類I2C接口程序設(shè)計,本文參照文獻中的設(shè)計原則,設(shè)計了一種適用于TMS320C2XX系列DSP開發(fā)的軟件包。1虛擬I2C軟件包的設(shè)計根據(jù)文獻中所提到的包容性設(shè)計、后歸一化設(shè)計、前歸一化設(shè)計原則,軟件包進行了如下定義。(1)適用范圍①適用主發(fā)送和主接收方式。I2C總線有4種工作方式:主發(fā)送、主接收、從發(fā)送、從接收。因?qū)嶋HDSP多工作于I2C總線的主方式,因而軟件包設(shè)計為主方式。②適用TMS320C2XX系列與I2C總線外圍器件的接口,支持對外圍器件N字節(jié)的讀寫,通信方式為對虛擬節(jié)點尋址后點對點的讀寫。③模擬I/O口線可選擇4根通用I/O口線(I/O0~I/O4)中的任意兩根。(2)軟件包結(jié)構(gòu)設(shè)計TMS320C2XX系列產(chǎn)品,基本包括4根通用I/O口線I/O0~I/O4(由于XF僅能作為輸入口線,BIO僅能作為輸出口線,因而暫不考慮)。它們的輸入輸出方向由ASPCR的低4位來設(shè)定,相應(yīng)口線狀態(tài)的設(shè)定或讀取由IOSR寄存器控制。但此處DSP與80C51有所不同,口線的輸入輸出狀態(tài)不是自動切換的,且ASPCR、IOSR寄存器都不支持位尋址方式,因而在進行I2C總線工作方式模擬時較為繁瑣。為避免所用寄存器其它狀態(tài)位的改變,需通過較多的與、或操作來改變指定I/O口線的狀態(tài),因而本軟件包與80C51的虛擬I2C軟件包結(jié)構(gòu)稍有不同。當(dāng)然,這些均在軟件包內(nèi)部完成,使用者不必了解具體細(xì)節(jié),用戶接口同樣簡單易用。①軟件包組成。為模擬I2C總線的操作時序,軟件包中包括了2個宏定義和12個子函數(shù)。(a)時序模擬子程序Sendb--發(fā)送起始標(biāo)志,啟動I2C總線;senda--發(fā)送確認(rèn)標(biāo)志;Sendna--發(fā)送非確認(rèn)標(biāo)志;Sende--發(fā)送結(jié)束標(biāo)志。(b)操作模擬子程序geta--接收確認(rèn)標(biāo)志;sendd--發(fā)送8位數(shù)據(jù);getd--接收1個字節(jié)數(shù)據(jù)。(c)數(shù)據(jù)讀寫子程序wrnbyte--寫入N字節(jié);rdnbyte--讀取N字節(jié)。(d)其它宏及子函數(shù)subsendd--根據(jù)標(biāo)志位C設(shè)置模擬數(shù)據(jù)口線的狀態(tài);toggleclk--切換模擬時鐘口線狀態(tài);Xdelay--延時子程序;Sdainm--將模擬數(shù)據(jù)口線A配置為輸入口線;sdaoutm--將模擬數(shù)據(jù)口線配置為輸出。因DSP的工作頻率一般遠高于I2C總線的操作頻率,因而這里需專用的延時子程序降低模擬時鐘口線頻率。本文所給出的源程序為F206采用40MHz晶振時的情況,用戶使用時可隨實際情況調(diào)整延時時間。②軟件包符號定義。軟件包中包括如下符號定義:VSDA、VSCL--分別定義了模擬數(shù)據(jù)口線和模擬時鐘口線對應(yīng)的屏蔽位,因DSP中對通用I/O口線的操作不能通過位操作來實現(xiàn),因而僅能屏蔽位來定義,如采用IO3模擬數(shù)據(jù)線、IO2模擬時鐘線,則可定義IO3為08h、IO2為04h;RAM0--為數(shù)據(jù)暫存用的臨時存儲單元;RIO--為用于保存I/O口線當(dāng)前狀態(tài)的存儲單元;SLA--用于保存總線上節(jié)點地址并確定傳輸方向的存儲單元;NUMBYTE--待發(fā)送或接收的字節(jié)數(shù)存儲單元;MTD--發(fā)送數(shù)據(jù)緩沖區(qū);MRD--接收數(shù)據(jù)緩沖區(qū)。以上符號中RAM0、RIO、SLA、NUMBYTE為頁內(nèi)地址,與當(dāng)前的頁指針DP內(nèi)容設(shè)置有關(guān);MTD、MRD為地址,與DP內(nèi)容無關(guān)。③資源占用。使用了輔助寄存器AR0、AR1、AR2、AR6、ACC、ASPCR、IOSR等資源。④應(yīng)用接口。軟件包將wrnbyte、rdnbyte作為的出口接口,用戶僅需正確設(shè)置對應(yīng)儲存單元的內(nèi)容,調(diào)用相應(yīng)子函數(shù)即可:splk#SLAR/SLAW,SLA;寫入傳輸節(jié)點地址及傳輸方向splk#N,NUMBYTE;寫入待傳輸字節(jié)數(shù);若輸出,設(shè)置輸出緩沖區(qū)內(nèi)容callwrnbyte/rdnbyte3應(yīng)用實例3.1器件相關(guān)功能簡介X1203是帶時鐘/日歷電路和兩個鬧鐘(報警)的低功耗CMOS實時時鐘芯片。提供了雙埠時鐘和報警寄存器,在讀寫操作期間也能工作。其工作電壓從2.5~6V均可,工作電流小于1uA。時鐘使用低成本的32.768kHz晶體輸入,以秒、分、時、日、星期、月和年為單位記錄時間,具有閏年自動矯正功能,并對少于31天的月份自動調(diào)整;可通過設(shè)置中斷標(biāo)志按指定時間激活中斷引腳,滿足大多數(shù)用戶對定時器編程的需要。該芯片引腳結(jié)構(gòu)如圖1所示(SOIC封裝)。其中SCL為時鐘輸入端,數(shù)據(jù)隨該時鐘信號同步輸入器件或從器件輸出。此引腳上的輸入緩沖器始終激活。SDA端為雙向引腳,用于串行數(shù)據(jù)的輸入輸出;具有漏極開路,可與其它漏極開路或集電極開路輸出進行線“或”;需上拉電阻,與SCL引腳配合,可實現(xiàn)400kHz的2線I2C接口。VBack為備用電源輸入端,用于VCC出現(xiàn)故障時向器件供電。是中斷信號輸出端,可通過設(shè)置報警寄存器按指定時間在該端產(chǎn)生報警信號;漏極開路,低電平有效。X1、X2分別為反相放大器的輸入、輸出端;可在X1端接入32.768kHz的方波基準(zhǔn),或在X1、X2端接入32.768kHz的石英晶振,配置成片內(nèi)振蕩器,在初始上電后至少有一個字節(jié)寫入RTC寄存器時,時鐘才開始計數(shù)。X1203中的時鐘/控制寄存器(CCR)分5部分:2個8字節(jié)報警寄存器(Alarm0、Alarm1),1個1字節(jié)控制寄存器,1個8字節(jié)實時時鐘寄存器和1個1字節(jié)狀態(tài)寄存器。通過報警寄存器可設(shè)置報警發(fā)生的時間,控制寄存器可使能或禁止報警中斷信號的輸出,實時時鐘寄存器以BCD碼存儲了秒、分、時、日、星期、月和年,狀態(tài)寄存器中保存了用于報警狀態(tài)標(biāo)志位及讀寫使能狀態(tài)位。其中狀態(tài)寄存器設(shè)置決定著數(shù)據(jù)是否能成功地寫入。該寄存器如表1所列。BAT標(biāo)識器件當(dāng)前用VBack還是用VCC工作。AL1、AL0標(biāo)識Alarm0、Alarm1是否實時時鐘匹配。RTCF表示實時時鐘是否失效,在總電源失效后該位置1。RWEL為寄存器寫使能鎖存,為0表示禁止,在任何寫時鐘/控制寄存器之前必須將該位置1。WEL為寫使能鎖存,低表示禁止,通過該位寫1、其它位寫0,可使該位置位;通過該位寫0、其它位寫0,可使該位清0。只有按規(guī)定順序設(shè)置RWEL和WEL,才能成功寫入CCR。目前,很多DSP芯片尚不直接支持I2C的接口,F(xiàn)206也不例外,因而這里采用2根通用I/O口線模擬I2C接口。F206與X1203的接口采用如圖2所示的接口方案。在X1、X2端接入32.768kHz的石英晶振,將時鐘源配置為片內(nèi)振蕩器。在VCC和VBACK之間通過二極管和電阻相連,并與地間加入1個0.47F的大電容。這樣,在電源出現(xiàn)故障或系統(tǒng)電源關(guān)閉時,仍可靠VBACK端的大電容供電維持時鐘芯片的正常工作。它與F206間接口采用3根口線,這里采用IO2模擬通信用的時鐘信號,IO3作為數(shù)據(jù)輸入、輸出口線。端可根據(jù)用戶需要而定,若需要時鐘芯片產(chǎn)生中斷,可將該端接到F206的中斷口線上。注意其中的SDA端和端為漏極開路,必須加上拉電阻,否則不能正常通信。3.2X1203的讀寫操作這里僅給出F206對X1203進行讀寫的基本流程,如圖3、圖4所示,分別為對時鐘芯片的讀、寫過程。其中進行寄存器寫時,須注意SR寄存器中WEL和RWEL的設(shè)置是否正確,即首先設(shè)置WEL有效,而后將WEL、RWEL都置1,否則數(shù)據(jù)將不能正確寫入。在寫結(jié)束后,應(yīng)將
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度汽車購買保險附加合同
- 基于OBE的《經(jīng)濟法原理》課程教學(xué)改革設(shè)計與實施-鐘衛(wèi)紅
- 二零二五年度清算機構(gòu)清算業(yè)務(wù)信息共享協(xié)議
- L123黑白設(shè)計師作品集
- 初中開學(xué)典禮學(xué)生發(fā)言稿
- 質(zhì)量創(chuàng)優(yōu)方案(二標(biāo)段)
- 三愛班會發(fā)言稿
- 2025年南充道路運輸從業(yè)資格證考試內(nèi)容是什么
- 工作經(jīng)驗交流會發(fā)言稿
- 2025年遂寧貨運從業(yè)資格證模擬考試保過版
- 路面工程重點、關(guān)鍵、和難點工程的施工方案(技術(shù)標(biāo))
- 合肥市城市大腦·數(shù)字底座白皮書2020
- 蓄電池在線監(jiān)控方案
- 《豎提》課件
- 機電預(yù)留預(yù)埋工程施工組織設(shè)計方案
- 2022年三八婦女節(jié)婦女權(quán)益保障法律知識競賽題庫及答案(共290題)
- 引水罐的設(shè)計計算
- Of studies原文譯文及賞析
- 安全閥基本知識講義
- 不銹鋼排煙風(fēng)管施工實施方案
- PMC部門工作流程圖
評論
0/150
提交評論