在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于DSP虛擬I2C總線軟件包的設計及應用實例

            基于DSP虛擬I2C總線軟件包的設計及應用實例

            作者: 時間:2012-04-11 來源:網(wǎng)絡 收藏


            數(shù)字信號處理器()在各領域中的應用已日趨廣泛,其中TI(Texas Instrument)公司的TMS320系列芯片占據(jù)了主導地位。(簡稱F206)由于具有片內(nèi)32K字的Flash,支持JTAG掃描端口的仿真調(diào)試,并支持程序的串行下載,便于開發(fā)設計及產(chǎn)品的軟件升級,因而在中高檔儀器開發(fā)中受到青睞。

            本文引用地址:http://www.biyoush.com/article/257585.htm

            的處理速度雖然較高,但直接支持的I/O口線較少,控制能力相對較弱,因而與外部器件接口采用串行方式較為適合。常用的串行接口和串行總線有UART、總線,由于總線提供了較完善的總線協(xié)議,且接口電路簡單,因而得到廣泛的應用。目前,已有很多外圍器件支持接口,但多數(shù)MCU并不直接支持I2C總線,因而采用I/O口線模擬I2C的方式成為一種通用解決方案。但由于I2C總線協(xié)議的復雜性及操作管理的特殊性,仍給此類方式的開發(fā)造成了較大不便。好在文獻中提出了一種按平臺模式設計的、適用于80C51的虛擬I2C總線軟件包,大大簡化了80C51的I2C接口程序設計,使用戶無需了解I2C總線協(xié)議的細節(jié),即可實現(xiàn)相應的接口。文獻中也給出了一種用于MSP430單片機的軟件包。由于尚無此類軟件包,為簡化DSP的此類I2C接口程序設計,本文參照文獻中的設計原則,設計了一種適用于TMS320C2XX系列DSP開發(fā)的軟件包。

            1 虛擬I2C軟件包的設計

            根據(jù)文獻中所提到的最佳包容性設計、后歸一化設計、前歸一化設計原則,軟件包進行了如下定義。

            (1)適用范圍

            ① 適用主發(fā)送和主接收方式。I2C總線有4種工作方式:主發(fā)送、主接收、從發(fā)送、從接收。因實際DSP多工作于I2C總線的主方式,因而軟件包設計為主方式。

            ② 適用TMS320C2XX系列與I2C總線外圍器件的接口,支持對外圍器件N字節(jié)的讀寫,通信方式為對虛擬節(jié)點尋址后點對點的讀寫。

            ③ 模擬I/O口線可選擇4根通用I/O口線(I/O0~ I/O4)中的任意兩根。

            (2)軟件包結構設計

            TMS320C2XX系列產(chǎn)品,基本包括4根通用I/O口線I/O0~I/O4(由于XF僅能作為輸入口線,BIO僅能作為輸出口線,因而暫不考慮)。它們的輸入輸出方向由ASPCR的低4位來設定,相應口線狀態(tài)的設定或讀取由IOSR寄存器控制。但此處DSP與80C51有所不同,口線的輸入輸出狀態(tài)不是自動切換的,且ASPCR、IOSR寄存器都不支持位尋址方式,因而在進行I2C總線工作方式模擬時較為繁瑣。為避免所用寄存器其它狀態(tài)位的改變,需通過較多的與、或操作來改變指定I/O口線的狀態(tài),因而本軟件包與80C51的虛擬I2C軟件包結構稍有不同。當然,這些均在軟件包內(nèi)部完成,使用者不必了解具體細節(jié),用戶接口同樣簡單易用。

            ① 軟件包組成。為模擬I2C總線的操作時序,軟件包中包括了2個宏定義和12個子函數(shù)。

            (a)時序模擬子程序

            Sendb--發(fā)送起始標志,啟動I2C總線;senda--發(fā)送確認標志;

            Sendna--發(fā)送非確認標志;Sende--發(fā)送結束標志。

            (b)操作模擬子程序

            geta--接收確認標志;sendd--發(fā)送8位數(shù)據(jù);

            getd--接收1個字節(jié)數(shù)據(jù)。

            (c)數(shù)據(jù)讀寫子程序

            wrnbyte--寫入N字節(jié);rdnbyte--讀取N字節(jié)。

            (d)其它宏及子函數(shù)

            subsendd--根據(jù)標志位C設置模擬數(shù)據(jù)口線的狀態(tài);toggleclk--切換模擬時鐘口線狀態(tài);

            Xdelay--延時子程序;Sdainm--將模擬數(shù)據(jù)口線A配置為輸入口線;

            sdaoutm--將模擬數(shù)據(jù)口線配置為輸出。

            因DSP的工作頻率一般遠高于I2C總線的操作頻率,因而這里需專用的延時子程序降低模擬時鐘口線頻率。本文所給出的源程序為F206采用40 MHz晶振時的情況,用戶使用時可隨實際情況調(diào)整延時時間。

            ② 軟件包符號定義。軟件包中包括如下符號定義:

            VSDA、VSCL--分別定義了模擬數(shù)據(jù)口線和模擬時鐘口線對應的屏蔽位,因DSP中對通用I/O口線的操作不能通過位操作來實現(xiàn),因而僅能屏蔽位來定義,如采用IO3模擬數(shù)據(jù)線、IO2模擬時鐘線,則可定義IO3為08h、IO2為04h;

            RAM0--為數(shù)據(jù)暫存用的臨時存儲單元;

            RIO--為用于保存I/O口線當前狀態(tài)的存儲單元;

            SLA--用于保存總線上節(jié)點地址并確定傳輸方向的存儲單元;

            NUMBYTE--待發(fā)送或接收的字節(jié)數(shù)存儲單元;

            MTD--發(fā)送數(shù)據(jù)緩沖區(qū);

            MRD--接收數(shù)據(jù)緩沖區(qū)。

            以上符號中RAM0、RIO、SLA、NUMBYTE為頁內(nèi)地址,與當前的頁指針DP內(nèi)容設置有關;MTD、MRD為絕對地址,與DP內(nèi)容無關。

            ③ 資源占用。使用了輔助寄存器AR0、AR1、AR2、AR6、ACC、ASPCR、IOSR等資源。

            ④ 應用接口。軟件包將wrnbyte、rdnbyte作為唯一的出口接口,用戶僅需正確設置對應儲存單元的內(nèi)容,調(diào)用相應子函數(shù)即可:

            splk #SLAR/ SLAW,SLA;寫入傳輸節(jié)點地址及傳輸方向

            splk #N,NUMBYTE ;寫入待傳輸字節(jié)數(shù)

            ;若輸出,設置輸出緩沖區(qū)內(nèi)容

            call wrnbyte/rdnbyte

            3 應用實例

            3.1 器件相關功能簡介

            X1203是帶時鐘/日歷電路和兩個鬧鐘(報警)的低功耗CMOS實時時鐘芯片。提供了雙埠時鐘和報警寄存器,在讀寫操作期間也能精確工作。其工作電壓從2.5~6 V均可,工作電流小于1uA。時鐘使用低成本的32.768 kHz晶體輸入,以秒、分、時、日、星期、月和年為單位記錄時間,具有閏年自動矯正功能,并對少于31天的月份自動調(diào)整;可通過設置中斷標志按指定時間激活中斷引腳,滿足大多數(shù)用戶對定時器編程的需要。該芯片引腳結構如圖1所示(SOIC封裝)。

            其中SCL為時鐘輸入端,數(shù)據(jù)隨該時鐘信號同步輸入器件或從器件輸出。此引腳上的輸入緩沖器始終激活。SDA端為雙向引腳,用于串行數(shù)據(jù)的輸入輸出;具有漏極開路,可與其它漏極開路或集電極開路輸出進行線或;需上拉電阻,與SCL引腳配合,可實現(xiàn)400 kHz的2線I2C接口。VBack為備用電源輸入端,用于VCC出現(xiàn)故障時向器件供電。是中斷信號輸出端,可通過設置報警寄存器按指定時間在該端產(chǎn)生報警信號;漏極開路,低電平有效。X1、X2分別為反相放大器的輸入、輸出端;可在X1端接入32.768 kHz的方波基準,或在X1、X2端接入32.768 kHz的石英晶振,配置成片內(nèi)振蕩器,在初始上電后至少有一個字節(jié)寫入RTC寄存器時,時鐘才開始計數(shù)。


            上一頁 1 2 下一頁

            關鍵詞: DSP I2C TMS320F206

            評論


            相關推薦

            技術專區(qū)

            關閉