資料介紹
														數(shù)字信號處理器(DSP)在各領(lǐng)域中的應(yīng)用已日趨廣泛,其中TI(Texas Instrument)公司的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é)議的細節(jié),即可實現(xiàn)相應(yīng)的接口。文獻中也給出了一種用于MSP430單片機的軟件包。由于DSP尚無此類軟件包,為簡化DSP的此類I2C接口程序設(shè)計,本文參照文獻中的設(shè)計原則,設(shè)計了一種適用于TMS320C2XX系列DSP開發(fā)的軟件包。
1 虛擬I2C軟件包的設(shè)計
根據(jù)文獻中所提到的最佳包容性設(shè)計、后歸一化設(shè)計、前歸一化設(shè)計原則,軟件包進行了如下定義。
?。?)適用范圍
?、?適用主發(fā)送和主接收方式。I2C總線有4種工作方式:主發(fā)送、主接收、從發(fā)送、從接收。因?qū)嶋HDSP多工作于I2C總線的主方式,因而軟件包設(shè)計為主方式。
?、?適用TMS320C2XX系列與I2C總線外圍器件的接口,支持對外圍器件N字節(jié)的讀寫,通信方式為對虛擬節(jié)點尋址后點對點的讀寫。
?、?模擬I/O口線可選擇4根通用I/O口線(I/O0~ I/O4)中的任意兩根。
?。?)軟件包結(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)稍有不同。當然,這些均在軟件包內(nèi)部完成,使用者不必了解具體細節(jié),用戶接口同樣簡單易用。
?、?軟件包組成。為模擬I2C總線的操作時序,軟件包中包括了2個宏定義和12個子函數(shù)。
?。╝)時序模擬子程序
Sendb--發(fā)送起始標志,啟動I2C總線;senda--發(fā)送確認標志;
Sendna--發(fā)送非確認標志;Sende--發(fā)送結(jié)束標志。
?。╞)操作模擬子程序
geta--接收確認標志;sendd--發(fā)送8位數(shù)據(jù);
getd--接收1個字節(jié)數(shù)據(jù)。
?。╟)數(shù)據(jù)讀寫子程序
wrnbyte--寫入N字節(jié);rdnbyte--讀取N字節(jié)。
?。╠)其它宏及子函數(shù)
subsendd--根據(jù)標志位C設(shè)置模擬數(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ù)口線和模擬時鐘口線對應(yīng)的屏蔽位,因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)容設(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)容
call wrnbyte/rdnbyte
												
												
												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é)議的細節(jié),即可實現(xiàn)相應(yīng)的接口。文獻中也給出了一種用于MSP430單片機的軟件包。由于DSP尚無此類軟件包,為簡化DSP的此類I2C接口程序設(shè)計,本文參照文獻中的設(shè)計原則,設(shè)計了一種適用于TMS320C2XX系列DSP開發(fā)的軟件包。
1 虛擬I2C軟件包的設(shè)計
根據(jù)文獻中所提到的最佳包容性設(shè)計、后歸一化設(shè)計、前歸一化設(shè)計原則,軟件包進行了如下定義。
?。?)適用范圍
?、?適用主發(fā)送和主接收方式。I2C總線有4種工作方式:主發(fā)送、主接收、從發(fā)送、從接收。因?qū)嶋HDSP多工作于I2C總線的主方式,因而軟件包設(shè)計為主方式。
?、?適用TMS320C2XX系列與I2C總線外圍器件的接口,支持對外圍器件N字節(jié)的讀寫,通信方式為對虛擬節(jié)點尋址后點對點的讀寫。
?、?模擬I/O口線可選擇4根通用I/O口線(I/O0~ I/O4)中的任意兩根。
?。?)軟件包結(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)稍有不同。當然,這些均在軟件包內(nèi)部完成,使用者不必了解具體細節(jié),用戶接口同樣簡單易用。
?、?軟件包組成。為模擬I2C總線的操作時序,軟件包中包括了2個宏定義和12個子函數(shù)。
?。╝)時序模擬子程序
Sendb--發(fā)送起始標志,啟動I2C總線;senda--發(fā)送確認標志;
Sendna--發(fā)送非確認標志;Sende--發(fā)送結(jié)束標志。
?。╞)操作模擬子程序
geta--接收確認標志;sendd--發(fā)送8位數(shù)據(jù);
getd--接收1個字節(jié)數(shù)據(jù)。
?。╟)數(shù)據(jù)讀寫子程序
wrnbyte--寫入N字節(jié);rdnbyte--讀取N字節(jié)。
?。╠)其它宏及子函數(shù)
subsendd--根據(jù)標志位C設(shè)置模擬數(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ù)口線和模擬時鐘口線對應(yīng)的屏蔽位,因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)容設(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)容
call wrnbyte/rdnbyte
												下載該資料的人也在下載
												下載該資料的人還在閱讀
											
											更多 >
											
										- I2C模塊arduinoio Simulink軟件包 0次下載
 - dsp虛擬i2c總線軟件包的設(shè)計方案解析 1次下載
 - DSP虛擬I2C總線軟件包的設(shè)計 0次下載
 - 虛擬I2C總線匯編程序軟件包 19次下載
 - 24系列I2C軟件包使用說明 9次下載
 - 基于CPLD的I2C總線接口設(shè)計
 - I2C總線應(yīng)用中的幾個問題
 - 基于S3C44B0X的I2C總線設(shè)計
 - 基于Verilog HDL的I2C總線分析器
 - i2c總線的特點
 - I2C 串行總線技術(shù)在DSP 系統(tǒng)中的虛擬實現(xiàn)The Sim
 - 模擬I2C總線多主通信的通用軟件包
 - 模擬I2C總線多主通信的通用軟件包
 - 模擬I2C總線C51程序軟件包
 - i2c總線ppt(I2C總線器件應(yīng)用) 0次下載
 
- I2C總線協(xié)議的工作原理和尋址格式 1896次閱讀
 - Linux I2C驅(qū)動入門知識科普 1734次閱讀
 - i2c總線用來做什么_i2c總線數(shù)據(jù)傳輸過程 7304次閱讀
 - I2C總線驅(qū)動的C語言源程序詳細說明 5262次閱讀
 - 基于I2C總線應(yīng)用呼喚平臺模式實現(xiàn)VIIC1.0軟件包的設(shè)計 926次閱讀
 - 基于DSP虛擬I2C總線軟件包的結(jié)構(gòu)設(shè)計 1069次閱讀
 - 基于MCS-51單片機I2C總線接口電路的設(shè)計 3457次閱讀
 - I2C總線的工作原理解析 6717次閱讀
 - I2C總線的特點與構(gòu)成詳解 1w次閱讀
 - 80C51單片機模擬I2C總線的主機程序分享 3482次閱讀
 - I2C總線的特點、控制技術(shù)與傳輸分析 1w次閱讀
 - i2c總線相關(guān)知識 3568次閱讀
 - 《振南電子STM32視頻教程》第八講:I2C總線 1119次閱讀
 - 基于FPGA的I2C SLAVE模式總線的設(shè)計方案 1.3w次閱讀
 - 虛擬I2C總線串行顯示電路介紹 3460次閱讀
 
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費下載
 - 0.00 MB | 1489次下載 | 免費
 - 2單片機典型實例介紹
 - 18.19 MB | 91次下載 | 1 積分
 - 3S7-200PLC編程實例詳細資料
 - 1.17 MB | 27次下載 | 1 積分
 - 4筆記本電腦主板的元件識別和講解說明
 - 4.28 MB | 18次下載 | 4 積分
 - 5開關(guān)電源原理及各功能電路詳解
 - 0.38 MB | 9次下載 | 免費
 - 6基于AT89C2051/4051單片機編程器的實驗
 - 0.11 MB | 4次下載 | 免費
 - 7基于單片機和 SG3525的程控開關(guān)電源設(shè)計
 - 0.23 MB | 3次下載 | 免費
 - 8基于單片機的紅外風(fēng)扇遙控
 - 0.23 MB | 3次下載 | 免費
 
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
 - 0.00 MB | 234313次下載 | 免費
 - 2PADS 9.0 2009最新版 -下載
 - 0.00 MB | 66304次下載 | 免費
 - 3protel99下載protel99軟件下載(中文版)
 - 0.00 MB | 51209次下載 | 免費
 - 4LabView 8.0 專業(yè)版下載 (3CD完整版)
 - 0.00 MB | 51043次下載 | 免費
 - 5555集成電路應(yīng)用800例(新編版)
 - 0.00 MB | 33562次下載 | 免費
 - 6接口電路圖大全
 - 未知 | 30319次下載 | 免費
 - 7Multisim 10下載Multisim 10 中文版
 - 0.00 MB | 28588次下載 | 免費
 - 8開關(guān)電源設(shè)計實例指南
 - 未知 | 21539次下載 | 免費
 
總榜
- 1matlab軟件下載入口
 - 未知 | 935053次下載 | 免費
 - 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
 - 78.1 MB | 537791次下載 | 免費
 - 3MATLAB 7.1 下載 (含軟件介紹)
 - 未知 | 420026次下載 | 免費
 - 4OrCAD10.5下載OrCAD10.5中文版軟件
 - 0.00 MB | 234313次下載 | 免費
 - 5Altium DXP2002下載入口
 - 未知 | 233045次下載 | 免費
 - 6電路仿真軟件multisim 10.0免費下載
 - 340992 | 191183次下載 | 免費
 - 7十天學(xué)會AVR單片機與C語言視頻教程 下載
 - 158M | 183277次下載 | 免費
 - 8proe5.0野火版下載(中文版免費下載)
 - 未知 | 138039次下載 | 免費
 
	                電子發(fā)燒友App
	            
	        
	        
          
        
        
	                    
                        
                        
                        
                        
                        


創(chuàng)作
發(fā)文章
發(fā)帖  
提問  
發(fā)資料
發(fā)視頻
上傳資料賺積分
           
            
            
                
            
評論