[  企業(yè)注冊  登錄  ]

上海愛瑞科技發(fā)展有限公司

當(dāng)前位置:首頁

專業(yè)論文

TMS320F240的SPI與LED驅(qū)動器的接口設(shè)計

文件大。格式:發(fā)布時間:2007-12-20瀏覽次數(shù):
更多
【中文關(guān)鍵詞】TMS320F240的SPI與LED驅(qū)動器的接口設(shè)計          
【摘要】微控制器MCU在外圍接口設(shè)計中,上下層測控設(shè)備間的通信或現(xiàn)場總線的連接往往采用串行通信接口(SCI),而本地的串行外設(shè),如移位寄存器,串行顯示驅(qū)動,DAC等只能用MCU的通用I/O端口模擬串行口進行通信,這樣大大影響了MCU的工作效率,增加了程序復(fù)雜性。美國TI公司的TMS320系列DSP(Digital Signal Processor)芯片提供了用于串行設(shè)備通信的功能靈活強大的串行外圍接口SPI,成為處理串行外設(shè)通信的一種優(yōu)秀解決方案。它可以與具有各種通信格式要求的串行設(shè)備方便地連接,簡化了硬件設(shè)計,提高了代碼效率。筆者通過在工程中的應(yīng)用,對TMS320系列芯片的SPI功能進行了一定的研究與開發(fā),本文通過MAX7219驅(qū)動LED顯示的實例來介紹一下TMS320F240的串行外圍接口SPI的設(shè)計和使用方法。
【全部正文】

 

 0 引言
        微控制器MCU在外圍接口設(shè)計中,上下層測控設(shè)備間的通信或現(xiàn)場總線的連接往往采用串行通信接口(SCI),而本地的串行外設(shè),如移位寄存器,串行顯示驅(qū)動,DAC等只能用MCU的通用I/O端口模擬串行口進行通信,這樣大大影響了MCU的工作效率,增加了程序復(fù)雜性。美國TI公司的TMS320系列DSP(Digital Signal Processor)芯片提供了用于串行設(shè)備通信的功能靈活強大的串行外圍接口SPI,成為處理串行外設(shè)通信的一種優(yōu)秀解決方案。它可以與具有各種通信格式要求的串行設(shè)備方便地連接,簡化了硬件設(shè)計,提高了代碼效率。筆者通過在工程中的應(yīng)用,對TMS320系列芯片的SPI功能進行了一定的研究與開發(fā),本文通過MAX7219驅(qū)動LED顯示的實例來介紹一下TMS320F240的串行外圍接口SPI的設(shè)計和使用方法。

1.TMS320F240簡介
        德州儀器公司開發(fā)的TMS320C24X芯片使電機控制系統(tǒng)的設(shè)計者得以接觸第一片專門為電機控制應(yīng)用而優(yōu)化的工業(yè)用單片DSP控制器。它將實時處理能力和控制器外設(shè)功能集于一身。它可產(chǎn)生所需的PWM信號來控制電機的轉(zhuǎn)速,轉(zhuǎn)向?芍С种噶畹漠a(chǎn)生,控制算法的處理,數(shù)據(jù)的交流和系統(tǒng)控制等功能。因此被廣泛應(yīng)用于自動化系統(tǒng),工業(yè)電機驅(qū)動系統(tǒng)。本文介紹的就是一個電機調(diào)速系統(tǒng)的顯示部分。TMS320F240便是在TMS320C24X基礎(chǔ)上推出一種定點DSP芯片。TMS320F240主要結(jié)構(gòu)和特性如下:
⑴ 它是應(yīng)用高性能的靜態(tài)CMOS技術(shù)生產(chǎn)的。
⑵ 包含T320C2XLP內(nèi)核CPU:有32位中央邏輯運算單元(CALU),32位累加器(ACC),16位×16位并行乘法器,8個16位輔助寄存器。
⑶ 它本身具有工業(yè)溫度標準、自動溫度獲取功能。
⑷ 它采用改進的哈佛總線結(jié)構(gòu),使得結(jié)構(gòu)更加優(yōu)化,芯片的性能提高。
⑸ 含544字節(jié)16位片內(nèi)數(shù)據(jù)/程序雙向RAM,16K字節(jié)Flash EEPROM。
⑹ 有串行外設(shè)接口(SPI)和通信接口(SCI),28個獨立可編程,復(fù)用I/O口,還有雙向10位串行數(shù)據(jù)轉(zhuǎn)換器,采樣速率可達166KHZ,滿足實時性。
⑺ 功能強大的事件管理器,可通過比較單元產(chǎn)生所需的PWM。
⑻ 帶有實時內(nèi)部,外部中斷和看門狗電路。
⑼ 支持JTAG硬件仿真。

2.SPI的原理和用法
  目前控制系統(tǒng)微型化的要求越來越高,為了使數(shù)字處理系統(tǒng)微型化,必須舍棄常用的并行總線接口方案,采用只需少量引腳線的串行總線接口方案。SPI就是這樣一種串行總線的外設(shè)接口,它只需3根引腳線便可與外設(shè)相接。SPI實際上是一種串行總線標準,它是一種真正的同步方式,兩臺設(shè)備在同一個時鐘下工作,因此傳輸速率高達幾十兆,F(xiàn)在與SPI總線兼容的芯片越來越多,因此,SPI為控制系統(tǒng)的設(shè)計帶來了很大方便。
  SPI有主、從兩種工作模式,主機的發(fā)送與從機地接收相連,主機的接收與從機的發(fā)送相連,主機產(chǎn)生的時鐘信號要輸出至從機的時鐘引腳上。這時用到SPI的4個引腳:SPISIMO——主機為發(fā)送,從機為接收;SPISOMI——主機為接收,從機為發(fā)送;SPICLK——串行外設(shè)接口時鐘,主機是輸出時鐘,從機是輸入時鐘;SPISTE——串行外設(shè)接口選通,選通從機。
SPI的結(jié)構(gòu)通過兩類寄存器來體現(xiàn):數(shù)據(jù)類寄存器和控制類寄存器。數(shù)據(jù)類寄存器包括發(fā)送數(shù)據(jù)寄存器SPIDAT,接收數(shù)據(jù)寄存器SPIBUF和仿真寄存器SPIEMU;控制類寄存器包括SPI配置控制寄存器SPICCR,操作控制寄存器SPICTL,狀態(tài)寄存器SPISTS,波特率寄存器SPIBRR,端口控制寄存器SPIPC1和SPIPC2,中斷優(yōu)先級控制寄存器SPIPR1。
  數(shù)據(jù)類寄存器是CPU與串行外設(shè)數(shù)據(jù)交換的橋梁,讀寫數(shù)據(jù)類寄存器即可實現(xiàn)通信。由于SPI通過一根時鐘引線將主機和從機同步,因此它的串行數(shù)據(jù)交換不需要增加起始位,終止位等用于同步的格式位,直接將要傳送的信息(1到8位的數(shù)據(jù))寫入SPIDAT,這個寫入自動啟動了發(fā)送過程即在同步時鐘SPICLK的節(jié)拍下把SPIDAT的內(nèi)容從高位到低位一位一位移到引腳SPISIMO,完成后將置中斷標志SPIINT FLAG(SPISTS.6)來通知主機信息塊已發(fā)送完畢。從機接收數(shù)據(jù)與此一樣,只是會將從SPISIMO引腳接收到的內(nèi)容復(fù)制到接收數(shù)據(jù)寄存器SPIBUF。
  控制類寄存器規(guī)定SPI的工作方式,串行訪問的參數(shù)和響應(yīng)標志等,這需要在軟件中進行初始化設(shè)置,因此要了解控制寄存器的使用方法。
  SPICCR.7位SPI SW RESET是軟件復(fù)位位,置1將使標志位SPIINT FLAG和RECEIVER OVERRUN清零,但其他配置參數(shù)不變,此時發(fā)送停止。復(fù)位完成后,要將此位清零,已準備進行正常的工作。SPICCR.6位CLOCK POLARITY與SPICTL.3位CLOCK PHASE配合產(chǎn)生四種時序(見表1)。




  SPICCR.2-0位SPICHAR2-0可確定信息塊的大。ㄔ1至8位間選擇)。其它位為保留位。SPICTL的SPIINT ENA和OVERRUN INT ENA為中斷位,置1允許中斷,否則清零。SPICTL的MASTER/SLAVE位置1表示主機,置0為從機。TALK位為發(fā)送允許位,1為允許發(fā)送,0為禁止發(fā)送。其它位為保留位。SPISTS.7為接收溢出標志位,如果在SPIBUF的內(nèi)容未讀出之前又接收到了新的數(shù)據(jù),就會有原數(shù)據(jù)丟失,這將使溢出標志RECEIVER OVERRUN置1。寫0到該位,SPI軟件復(fù)位或系統(tǒng)復(fù)位都可清0該位。SPIBRR.6-0這7位為SPI波特率寄存器值,SPI的波特率即它的時鐘SPICLK的周期。由于SPICLK是SYSCLK時鐘經(jīng)SPIBRR規(guī)定的分頻系數(shù)分頻后得到的,所以,SPI的波特率是:




  這里要注意的是SPI工作在從機方式時,允許的最大波特率是SYSCLK/8。SPIPRI寄存器設(shè)定中斷優(yōu)先級和仿真掛起是否允許。SPI還有兩個端口控制寄存器SPIPC1和SPIPC2。SPIPC1來設(shè)定SPISTS和SPICLK的數(shù)據(jù)傳送方向(通過設(shè)定DATA DIR),端口功能(通過設(shè)定FUNCTION來決定是SPI功能還是I/O功能)。SPIPC2則來設(shè)定SPISIMO和SPISOMI的數(shù)據(jù)傳送方向和端口功能。
  使用SPI模塊時要注意兩點:第一、SPI與串行外圍器件相連時,SPI應(yīng)設(shè)置為主機;第二、注意SPI寄存器的初始化和標志位的及時復(fù)位。

3.MAX7219的原理與用法
  MAX7219是MAXIM公司生產(chǎn)的7段共陰極LED數(shù)碼管的驅(qū)動芯片,每一片7219最多可驅(qū)動8位LED,它集BCD碼譯碼器、多路掃描器、段驅(qū)動和位驅(qū)動電路于一體,內(nèi)含8×8位雙口靜態(tài)SRAM,可保存8位LED數(shù)據(jù),使用方便,連線簡單,還可串聯(lián)使用,大大簡化了硬件電路,減小了軟件的工作量。
  MAX7219具有典型的三線串行接口,命令與數(shù)據(jù)組成16位字串,從DIN管腳進入,從DOUT管腳輸出,當(dāng)每一個CLK脈沖上升沿到來時,串行數(shù)據(jù)從DIN管腳進入MAX7219內(nèi)部移位寄存器,最先收到的是最高位,這便與SPI的數(shù)據(jù)輸出順序正好匹配了。第16個CLK上升沿,LOAD管腳若變?yōu)楦唠娖,?shù)據(jù)就會被鎖存到內(nèi)部寄存器中,再過半個脈沖,數(shù)據(jù)在CLK下降沿從DOUT管腳輸出。時序如圖2所示。




  MAX7219的命令與數(shù)據(jù)所組成的16位數(shù)據(jù)格式如表示:




  MAX7219有14個可尋址命令寄存器:8個位驅(qū)動寄存器和6個狀態(tài)寄存器。地址排列如表2所示。MAX7219提供了段選碼和BCD解碼兩種方式。解碼方式寄存器數(shù)據(jù)位都設(shè)為1時,為BCD解碼方式,都為0時為段選碼方式。工作在解碼方式時,LED




可顯示數(shù)字0~9及“—”,“E、F、H、L、P”等字符和空顯示。寫寄存器時,只要在對應(yīng)的數(shù)據(jù)位的低4位寫入“0H”-“FH”即可,與數(shù)據(jù)位高4位無關(guān),數(shù)據(jù)位最高位來設(shè)定小數(shù)點狀態(tài),置1點亮小數(shù)點,否則為0。段選碼方式是通過將數(shù)碼管對應(yīng)數(shù)據(jù)位寫“1”來使該段亮。
  MAX7219還有6個狀態(tài)寄存器。亮度寄存器來控制LED的亮度,這種軟件亮度控制可代替硬件限流的亮度控制方法。掃描限制寄存器用于控制掃描頻率。停機寄存器控制MAX7219的工作狀態(tài),該寄存器數(shù)據(jù)格式為“×0”時,進入關(guān)閉正常工作狀態(tài),但可受測試控制寄存器控制;數(shù)據(jù)格式為“×1”時,進入正常工作狀態(tài)。顯示測試寄存器為“×0”時,顯示驅(qū)動器進入正常工作狀態(tài);寄存器為“×1”時,為測試狀態(tài),此時LED應(yīng)全亮狀態(tài)。空操作寄存器用在7219串聯(lián)時,只改變某片7219驅(qū)動的LED,但不用改變其他顯示區(qū)。它可使7219進行空操作,保持LED的原狀。
  MAX7221與MAX7219基本一致,只是7221段驅(qū)動有轉(zhuǎn)換速率限制,以此來減小EMI,而且它更專業(yè)化用于SPI。7219則通用性較強。

4.實例介紹
  筆者在開發(fā)的一個電機調(diào)速系統(tǒng)中,顯示部分采用的是TMS320F240的SPI外接MAX7219來驅(qū)動LED動態(tài)顯示。

4.1硬件連接
TMS320F240芯片的45,49,分別為SPI的SPISIMO和SPICLK腳,將它們分別與MAX7219的DIN和CLK腳相連以輸出數(shù)據(jù)和時鐘信號給MAX7219。TMS320F240的73腳是I/O口,將它與7219的LOAD( )連接,來輸入7219的片選信號,低電平選擇,高電平取消選擇。硬件連接如圖3示:





4.2軟件設(shè)計
        由于SPI與MAX7219的匹配性很好,不但使得硬件電路簡捷,軟件編程也比較容易。最主要的基本工作就是對SPI和MAX7219的寄存器賦值,之后的編程工作則因系統(tǒng)要求而定。
        對于DSP,首先設(shè)置好頭文件和聲明要用的DSP的寄存器。接下來根據(jù)需要設(shè)置寄存器。先設(shè)置SPICCR來復(fù)位SPI并定義字符長度為8。設(shè)置SPICTL定義工作為主動模式,按需要設(shè)置中斷,并結(jié)合SPICCR設(shè)定SPI時鐘時序,由于7219在輸入時鐘的上升沿接收數(shù)據(jù),因此時鐘時序應(yīng)設(shè)置為有延時上升沿。寫寄存器SPIBRR設(shè)置SPI波特率(可為最快)。寫SPIPC1,SPIPC2設(shè)置SPICLK腳輸出時鐘信號,SPISIMO腳輸出SPIDAT寄存器內(nèi)的數(shù)據(jù)。最后還要清SPICCR的SPI SW RESET復(fù)位位來允許SPI工作,準備發(fā)送數(shù)據(jù)。
  MAX7219要通過SPI輸出的地址和數(shù)據(jù)來初始化自己的寄存器。要分別設(shè)置顯示測試寄存器為正常工作狀態(tài)。設(shè)置解碼方式寄存器為BCD解碼方式。設(shè)置亮度寄存器為合適的亮度值(最亮即可)。設(shè)置掃描限制寄存器為適合的掃描頻率。設(shè)置停機寄存器為正常工作狀態(tài)?詹僮骷拇嫫鞯脑O(shè)置在7219串聯(lián)時,由顯示數(shù)據(jù)的需要來設(shè)置。軟件流程如圖4所示。




  注意,初始化7219和LED顯示時,對7219的每一個寄存器傳送值時,都要調(diào)用一次顯示子程序。SPI復(fù)位位應(yīng)及時清零,保證新的發(fā)送能進行。每一次寄存器接收完值,都要取消7219片選以鎖存接收到的值。
實驗結(jié)果表明,SPI串行輸出可令DSP不用始終掃描,只在需要的中斷發(fā)生時,串行輸出即可,而且SPI的波特率可達到最高,這些都大大節(jié)省了CPU的時間,減少了工作量,節(jié)省了大量的系統(tǒng)資源。而且,顯示效果穩(wěn)定不閃爍,可根據(jù)要求靈活顯示。

5.結(jié)束語
        數(shù)字化的信息時代,DSP會有更加廣闊的應(yīng)用領(lǐng)域,與之兼容匹配的產(chǎn)品也會越來越豐富,我們的工作生活也會因此而更加方便快捷。

 

相關(guān)論文

暫無評論信息



相關(guān)論文

打印本頁

聯(lián)系方式

Shanghai Aera Technology Development Co.,Ltd.—上海愛瑞科技發(fā)展有限公司
地址:上海市桂平路481號15號樓4樓
郵編:200233
電話:021-51096600-872、877
傳真:021-54263008
網(wǎng)址:http://www.aera.com.cn
*留言類型: 采購咨詢 售后咨詢
*聯(lián)系人:
*聯(lián)系電話:
*電子郵箱:
*單位名稱:
*留言內(nèi)容:
 
国产亚洲精品美女久久久| 北条麻妃毛片在线视频| 色多多网站入口| 国产女人aaa级久久久级| 花蝴蝶免费版高清版| 国产亚洲欧美久久久久| 精品无码国产一区二区三区51安| 啊灬啊灬啊灬快灬深一| 疯狂做受xxxx高潮不断| 免费国产在线视频| 欧美高清色视频在线播放| 亚洲欧美精品一区天堂久久| 欧美一级va在线视频免费播放| 亚洲中文字幕久久精品无码a| 日韩欧美一区二区三区免费观看 | 日韩精品欧美亚洲高清有无| 九九综合九九综合| 日本一区二区三区四区| 久久99精品久久久久久不卡| 少妇AV射精精品蜜桃专区| 一二三四视频社区在线| 国内精品久久久久| 3d姐弟关系风车动漫(p)_在线观看| 国产真实乱子伦精品视频| 西西人体www44rt大胆高清| 国产亚洲美女精品久久久2020| 精品国产亚洲AV麻豆| 免费国产一级特黄久久| 欧美日韩中文国产一区| 亚洲乱码日产精品BD在线观看| 日本伦理电影网伦理在线电影| 久久丁香五月天综合网| 女博士梦莹凌晨欢爱| 99热精品久久只有精品| 国产激情在线观看| 老太脱裤让老头玩ⅹxxxx| 动漫触手被吸乳羞羞动漫| 欧美激情videossex护士| 亚洲乱码精品久久久久..| 放荡白丝袜麻麻| 一区二区三区四区在线观看视频|