<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > DSP虛擬I2C總線(xiàn)軟件包設計及應用實(shí)例

DSP虛擬I2C總線(xiàn)軟件包設計及應用實(shí)例

作者: 時(shí)間:2010-07-01 來(lái)源:網(wǎng)絡(luò ) 收藏

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

本文引用地址:http://dyxdggzs.com/article/151756.htm

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

  1 I2C軟件包的設計

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

  (1)適用范圍

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

 ?、?適用TMS320C2XX系列與I2C總線(xiàn)外圍器件的接口,支持對外圍器件N字節的讀寫(xiě),通信方式為對節點(diǎn)尋址后點(diǎn)對點(diǎn)的讀寫(xiě)。

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

  (2)軟件包結構設計

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

 ?、?軟件包組成。為模擬I2C總線(xiàn)的操作時(shí)序,軟件包中包括了2個(gè)宏定義和12個(gè)子函數。

  (a)時(shí)序模擬子程序

  Sendb--發(fā)送起始標志,啟動(dòng)I2C總線(xiàn);senda--發(fā)送確認標志;

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

  (b)操作模擬子程序

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

  getd--接收1個(gè)字節數據。

  (c)數據讀寫(xiě)子程序

  wrnbyte--寫(xiě)入N字節;rdnbyte--讀取N字節。

  (d)其它宏及子函數

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

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

  sdaoutm--將模擬數據口線(xiàn)配置為輸出。

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

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

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

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

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

  SLA--用于保存總線(xiàn)上節點(diǎn)地址并確定傳輸方向的存儲單元;

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

  MTD--發(fā)送數據緩沖區;

  MRD--接收數據緩沖區。

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

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

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

  splk #SLAR/ SLAW,SLA;寫(xiě)入傳輸節點(diǎn)地址及傳輸方向

  splk #N,NUMBYTE ;寫(xiě)入待傳輸字節數

  ;若輸出,設置輸出緩沖區內容

  call wrnbyte/rdnbyte


上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>