chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>電子元器件>接口定義>

SPI通信設(shè)計(jì) - AT89C5131實(shí)現(xiàn)與DSP、PC通信的接口設(shè)計(jì)

2011年08月30日 12:17 本站整理 作者:劉王瑩,董春曦 用戶評(píng)論(0
1.3 SPI端口特性及SPI通信設(shè)計(jì)

  SPI(Serial Peripheral Interface--串行外設(shè)接口)總線系統(tǒng)是一種同步串行外設(shè)接口,它可以使MCU與各種外圍設(shè)備以串行方式進(jìn)行通信以交換信息。SPI有三個(gè)寄存器分別為:控制寄存器SPCR,狀態(tài)寄存器SPSR,數(shù)據(jù)寄存器SPDR.外圍設(shè)置FLASHRAM、網(wǎng)絡(luò)控制器、LCD顯示驅(qū)動(dòng)器、A/D轉(zhuǎn)換器和MCU等。SPI總線系統(tǒng)可直接與各個(gè)廠家生產(chǎn)的多種標(biāo)準(zhǔn)外圍器件直接接口,該接口一般使用4條線:串行時(shí)鐘線(SCLK)、主機(jī)輸入/從機(jī)輸出數(shù)據(jù)線MISO、主機(jī)輸出/從機(jī)輸入數(shù)據(jù)線MOSI和低電平有效的從機(jī)選擇線SS(有的SPI接口芯片帶有中斷信號(hào)線INT、有的SPI接口芯片沒有主機(jī)輸出/從機(jī)輸入數(shù)據(jù)線MOSI)。SPI接口的全稱是"Serial Peripheral Interface",意為串行外圍接口,是Motorola首先在其MC68HCXX系列處理器上定義的。SPI接口主要應(yīng)用在EEPROM,FLASH,實(shí)時(shí)時(shí)鐘,AD轉(zhuǎn)換器,還有數(shù)字信號(hào)處理器和數(shù)字信號(hào)解碼器之間。

  AT89C5131的SPI模塊允許在McU和其他外圍設(shè)備之間實(shí)現(xiàn)全雙工、同步、串行通信,它能以配置為主或者從兩種操作模式提供可編程極性和相位串行時(shí)鐘,同時(shí)還提供8個(gè)可編程的主機(jī)時(shí)鐘率。SPI模塊包括4個(gè)端點(diǎn)(MOSI,MISO,SCK,SS),MOSI和MISO都是用來傳輸數(shù)據(jù)的,且每次只能傳輸1個(gè)字節(jié)的數(shù)據(jù)。不同的是,MOSI將數(shù)據(jù)由主機(jī)輸出從機(jī)輸入,而MISO正好相反。SCK信號(hào)用以使通過MOSI和MI-SO的數(shù)據(jù)輸人/輸出設(shè)備同步,它可以由主機(jī)驅(qū)動(dòng)產(chǎn)生8個(gè)時(shí)鐘周期,用以完成一個(gè)字節(jié)在串行通道上的交換。SS用于從機(jī)的選擇,低有效。SPI模塊的配置和初始化可以通過寄存器SPCON完成,而數(shù)據(jù)的交換則需要使用寄存器SPSTA和SPDAT兩個(gè)寄存器,在軟件編寫過程中,SPI能否正常工作主要取決于對(duì)上述3個(gè)寄存器的操作。

  在該設(shè)計(jì)中,SPI被配置為主機(jī)模式;SS端口處于無效狀態(tài);AT89C5131通過MOSI端口向DSP傳輸參數(shù)及控制命令;DSP通過軟件設(shè)置P1.1(SS)端口的狀態(tài)表明數(shù)據(jù)是否正確接收,即若正確接收,則置P1.1為1,否則置P1.1為0;AT89C5131通過檢測(cè)P1.1的值來決定是否重傳數(shù)據(jù)。

  2 系統(tǒng)實(shí)現(xiàn)

  要使得上述設(shè)計(jì)在工程應(yīng)用中得以實(shí)現(xiàn),在硬件設(shè)計(jì)的基礎(chǔ)上。還需對(duì)接口進(jìn)行軟件設(shè)計(jì)。AT89C5131的軟件設(shè)計(jì)主要是USB固件程序的設(shè)計(jì),軟件設(shè)計(jì)采用C語言編程,最后軟件通過FLIP下載到AT89C5131芯片中。這里所采用的編譯環(huán)境為KeilμVision 3軟件設(shè)計(jì)平臺(tái)。在具體的工程實(shí)現(xiàn)過程中,也遇到了一些問題,但經(jīng)過反復(fù)的修改及調(diào)試,這些問題都得到了很好的解決,其中主要有以下幾個(gè)方面:

  按鍵功能實(shí)現(xiàn)控制面板按鍵的功能是通過電平觸發(fā)中斷實(shí)現(xiàn)的。在設(shè)計(jì)之初,手動(dòng)按下一次按鍵總會(huì)觸發(fā)多次中斷,對(duì)應(yīng)的LED顯示總會(huì)很快的跳變,不能滿足按一次按鍵就顯示一個(gè)狀態(tài)的要求,于是筆者就在按鍵功能實(shí)現(xiàn)的程序中添加了等待函數(shù),即每發(fā)生完一次中斷,就等待一段時(shí)間,經(jīng)過調(diào)試,上面的問題沒有再出現(xiàn)。

  USB通信系統(tǒng)系統(tǒng)要求USB能夠快速、高效地實(shí)現(xiàn)通信,對(duì)于速度問題可以通過Ping-pong模式得以解決。系統(tǒng)還要求USB實(shí)現(xiàn)雙向通信,為使其接收和發(fā)送數(shù)據(jù)互不干擾,所以選用了幾個(gè)端口實(shí)現(xiàn)不同數(shù)據(jù)的傳輸。

  SPI端口通信 SPI端口工程實(shí)現(xiàn)的關(guān)鍵是速度和工作模式的匹配。在設(shè)計(jì)之初,AT89C5131的SPI工作于從機(jī)模式,其數(shù)據(jù)傳輸受到DSP的控制,由于其傳輸速度遠(yuǎn)遠(yuǎn)低于DSP中SPI端口的處理速度,所以每通過AT89C5131的SPI傳輸一組數(shù)據(jù)時(shí),DSP總需要通過軟件控制等待很長一段時(shí)間,既便如此也不能保證數(shù)據(jù)得到正確接收。于是,后來就將AT89C5131的SPI工作模式修改為主機(jī)模式,由AT89C5131主動(dòng)控制數(shù)據(jù)的傳輸。然而實(shí)現(xiàn)雙向通信的關(guān)鍵是對(duì)SS信號(hào)的控制,在上述工作模式下,SS必須無效,Slave才能較可靠地向發(fā)送寄存器寫數(shù)。

  3 結(jié) 語

  文中介紹基于AT89C5131的接口設(shè)計(jì),主要是實(shí)現(xiàn)PC機(jī)與MCU以及MCU與DSP的通信,該設(shè)計(jì)已經(jīng)在工程實(shí)際中得到應(yīng)用。經(jīng)過實(shí)踐檢驗(yàn),證明其合理且操作靈活,具有一定的實(shí)用意義。編譯正確且邏輯沒有問題的程序源代碼,將其燒寫至芯片后,硬件電路并不一定能完全地實(shí)現(xiàn)所要求的功能,所以必須經(jīng)過反復(fù)的修改程序、燒寫、調(diào)試,直至正確實(shí)現(xiàn)功能。

非常好我支持^.^

(1) 100%

不好我反對(duì)

(0) 0%

( 發(fā)表人:小蘭 )

      發(fā)表評(píng)論

      用戶評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?