出版時間:2010-7 出版社:電子工業(yè)出版社 作者:任潤柏,周荔丹,姚鋼 頁數(shù):377
Tag標(biāo)簽:無
前言
隨著能源日趨緊張,對電能進(jìn)行有效的控制從而節(jié)約能源越發(fā)顯得重要。TI推出的F28x系統(tǒng)芯片是一款在電動機及電力控制中被業(yè)界廣泛應(yīng)用的控制類芯片,但目前該系列芯片在國內(nèi)的應(yīng)用遠(yuǎn)遠(yuǎn)沒有達(dá)到51系列單片機那樣的程度。 五六年前,筆者自恃有十幾年從事8位單片機開發(fā)的經(jīng)驗,曾幾次捧起DSP2000系列的原理書想了解一個大概,然而幾次不得不駐足興嘆。事實上,即使是一個比較簡單的51系統(tǒng),其入門也不能僅靠原理書來完成,必須有示范板及相關(guān)的驅(qū)動源碼,初學(xué)者在逐一調(diào)試這些驅(qū)動源碼的基礎(chǔ)上才能慢慢入門和漸入佳境?! 28x(32位機)是一個較51(8位機)系統(tǒng)更復(fù)雜、更難學(xué)的系統(tǒng),然而,相關(guān)中文書籍除翻譯外版的原理書之外,基本上沒有行之有效的驅(qū)動源碼的介紹。事實上,TI早在2003年9月就頒布了一個V100版本的SPRC097文件,之后,在2007年9月將該文件更新為V111版本,并在2009年7月又更新為V120版本。該文件以C/C++語言為基礎(chǔ),通過位域結(jié)構(gòu)體的方法為F28x提供了完整的一個頭文件體系,并且針對F28x的外圍設(shè)備給出了20個外設(shè)驅(qū)動源碼(V100之后的版本增加了5個源碼)。這是F28x入門的一個有效文件?! ?006年初夏,筆者從國內(nèi)第三方獲得eZdsp翻版的示范板,發(fā)現(xiàn)與示范板配套的很少幾個代碼都取自SPRC097文件中的部分內(nèi)容,但缺少了前后關(guān)聯(lián)及SPR.C097文件自身的系統(tǒng)性。因此,筆者嘗試直接在SPRC097文件系統(tǒng)上運行該文件中的源碼,多數(shù)源碼竟然可以直接調(diào)試運行!之后,筆者潛心閱讀、調(diào)試,并將點滴領(lǐng)悟記錄下來。到2007年年初,這些記錄(或稱為解讀)已有相當(dāng)篇幅,筆者設(shè)計的:DSP2812示范板也于2006年年底調(diào)試完畢?! ?007年5月,經(jīng)上海交通大學(xué)陳健老師(德州儀器DSP大學(xué)計劃的國內(nèi)早期發(fā)起人和組織者之一)的引薦,認(rèn)識了德州儀器亞洲區(qū)大學(xué)計劃部沈潔經(jīng)理及半導(dǎo)體事業(yè)部經(jīng)理譚徽博士,當(dāng)年他們對筆者所做的事情以及打算將SPRC097文件源碼解讀成書的愿望的褒揚至今歷歷在目?! I大學(xué)計劃部與上海交通大學(xué)電氣工程系連續(xù)兩年(2008-2009年)在上海交通大學(xué)舉辦DSP2000青年教師暑期培訓(xùn)班,均采用2008年6月由筆者編寫的“DSP281x外設(shè)驅(qū)動源碼解讀”講義(308頁)作為教材?! ”緯浴癉SP281x外設(shè)驅(qū)動源碼解讀”講義為雛形,對TI提供的外設(shè)驅(qū)動源碼進(jìn)行了更深入的解讀,具有以下特點: ?。?)對構(gòu)建SPRC097文件體系的位域結(jié)構(gòu)體方法及文件中出現(xiàn)的陌生的指令進(jìn)行詳細(xì)的注解; ?。?)對尚未公示的采用SPRC097文件風(fēng)格建立一個簡捷且容易管理的新項目的方法進(jìn)行解析和引用; ?。?)對每條外設(shè)示例源碼設(shè)置專用寄存器的指令,具體到對每一個控制位進(jìn)行注釋.
內(nèi)容概要
這是一本F28x系統(tǒng)的入門書。書中提供的F28x外設(shè)驅(qū)動源碼文件是TMS 320 F28x系統(tǒng)的底層文件,適合所有F28x硬件系統(tǒng)。實踐證明,從可操作調(diào)試的外設(shè)驅(qū)動源碼出發(fā),是進(jìn)入F28x領(lǐng)域的一條捷徑。 本書通過解讀德州儀器提供的DSP2000系列外設(shè)驅(qū)動源碼(文檔名SPRC097)的方式,介紹了TMS 320 F28x各種外設(shè)的驅(qū)動機制、運行要領(lǐng)及與系統(tǒng)之間的關(guān)系,并對建立SPRC097文件體系的位域結(jié)構(gòu)體方法給出詳細(xì)的說明。書中源代碼均通過實際運行驗證。 本書可作為電氣、自動控制和電子類專業(yè)本科生和研究生的教科書或參考書,也可作為相關(guān)領(lǐng)域的工程技術(shù)人員的參考書。 書中的所有源碼、支持源碼的頭文件和共享文件均可在電子工業(yè)出版社網(wǎng)站(http://www.phei.com.cn/“資源下載”)免費下載。
書籍目錄
第1章 DSP F28x使用入門 1.1 項目文件的目錄結(jié)構(gòu) 1.2 外設(shè)位域結(jié)構(gòu)體方法綜述 1.2.1 傳統(tǒng)#define方法 1.2.2 位域及結(jié)構(gòu)體方法 1.2.3 添加位域結(jié)構(gòu)體 1.2.4 共用體結(jié)構(gòu)體位域的的應(yīng)用實例 1.3 外設(shè)示例項目 1.3.1 開啟一個項目 1.3.2 新建一個項目 1.3.3 示例程序結(jié)構(gòu) 1.3.4 示例流程及示例一覽表第2章 CPU定時器0的驅(qū)動 2.1 定時器基本概念 2.1.1 定時器時鐘和時鐘源 2.1.2 定時器寄存器 2.1.3 控制定時器速率的幾個因素 2.1.4 啟動定時器0步驟 2.2 定時器0中斷設(shè)置 2.3 關(guān)于ConfigCpuTimer()函數(shù)的說明 2.4 定時器0中斷啟動程序?qū)嵗–puTimer.c)第3章 通用輸入/輸出(GPIO) 3.1 GPIO概述 3.1.1 GPIO寄存器 3.1.2 寄存器功能介紹 3.1.3 GPIO的啟動 3.2 程序?qū)嵗 ?.2.1 GPIO切換測試程序(GpioToggle.c) 3.2.2 GPIO回送測試程序(GpioLoopback.c)第4章 串行通信接口(SCI) 4.1 SCI模塊概述 4.1.1 SCI寄存器一覽表 4.1.2 SCI引腳的連接 4.1.3 SCI通信數(shù)據(jù)格式 4.1.4 多處理器(多機)通信的喚醒模式 4.2 SCI模塊啟動要領(lǐng) 4.2.1 串行通信接口的配置 4.2.2 SCI時鐘及波特率的配置 4.2.3 通信模式的配置 4.2.4 SCI數(shù)據(jù)發(fā)送及接收過程 4.3 接收和發(fā)送過程中的中斷邏輯 4.3.1 標(biāo)準(zhǔn)模式下的SCI中斷 4.3.2 增強型模式下的SCI中斷 4.3.3 SCI中斷設(shè)置指令 4.4 程序?qū)嵗 ?.4.1 SCI數(shù)字回送測試程序(SciLoopBac.c) 4.4.2 通過中斷進(jìn)行數(shù)字回送測試程序(SciLoopBackInt.c)81 4.4.3 SCI自動波特檢測示例(SciAutobaud.c)第5章 串行外圍接口(SPI) 5.1 SPI模塊概述 5.2 SPI工作模式 5.2.1 主機工作模式 5.2.2 從機工作模式 5.2.3 數(shù)據(jù)傳送格式 5.3 SPI時鐘及波特率 5.3.1 SPI時鐘 5.3.2 波特率的計算 5.3.3 SPI時鐘方案 5.4 SPI中斷 5.4.1 標(biāo)準(zhǔn)模式下的SPI中斷 5.4.2 增強模式下的SPI中斷 5.5 SPI的啟動和配置指令 5.5.1 SPI同步串行接口的配置 5.5.2 SPI時鐘及波特率的配置 5.5.3 SPI配置控制寄存器(SPICCR)的配置 5.5.4 SPI工作寄存器(SPICTL)的配置 5.5.5 SPI中斷設(shè)置 5.6 程序?qū)嵗 ?.6.1 Spi數(shù)字回送程序(SpiLoopBack.c) 5.6.2 采用中斷的Spi數(shù)字回送程序(SpiLoopBackInterrupts.c) 5.6.3 數(shù)模(DAC)轉(zhuǎn)換測試程序(SpiDac.c)第6章 多通道緩沖接口(McBSP)的驅(qū)動第7章 增強型局域網(wǎng)絡(luò)控制器(eCAN)的驅(qū)動第8章 事件管理器(EV)驅(qū)動要領(lǐng)及例程第9章 模數(shù)轉(zhuǎn)換器(ADC)第10章 外設(shè)中斷擴展(PIE)模塊的使用第11章 CMD文件的運用第12章 IQmath方法概述參考文獻(xiàn)
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載