日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 單片機 > 單片機
[導讀]Motorola的SDK(Soft wareDevelopment Kit)是從DSP56800的Metrowerks CodeWarrior開發(fā)工具中發(fā)展而來的,SDK是一個API(Application Prograrmming Inter—face)、庫、服務、規(guī)則的集合體。

    Motorola的SDK(Soft wareDevelopment Kit)是從DSP56800的Metrowerks CodeWarrior開發(fā)工具中發(fā)展而來的,SDK是一個API(Application Prograrmming Inter—face)、庫、服務、規(guī)則的集合體。它為DSP56800系列芯片的開發(fā)應用提供了一個很好的平臺,使得開發(fā)者可以脫離硬件的束縛,在軟件仿真的環(huán)境下進行開發(fā),縮短產品進入市場的周期。SDK使得開發(fā)者對設備的操作就象對文件的操作一樣,非常方便。
    下面是筆者在開發(fā)應用DSP56F807芯片過程中使用SDK對其開發(fā)操作的一點經驗。


1 對SDK中API函數的總體認識
    使用API函數對片上集成模塊進行操作時一般會經過以下過程。
    ①在初始化配置文件appconfig.h中設置設備初始化的一些參數,這些參數的設定會影響片上設備的操作,甚至影響設備是否能夠成功打開返回正確的設備句柄。 
    ②打開所要操作的設備,獲得返回的設備句柄,供進一步的操作使用。
    ③根據設備句柄,對設備進行操作。
    ④關閉設備。
    不管對哪些片上設備進行操作,都將經過上面的幾個步驟。下面介紹主要使用的API函數。
(1)open函數
    open(參數1,參數2,參數3)。
    參數1是由SDK定義的設備名稱,如:BSP—DEVICE—NAME—ADC_O即片上集成的模數轉換模塊。實際上,這一串字符是有含義的,在SDK的頭文件中有一個稱做bsp.h的頭文件,在這里面定義了各個片上模塊的名稱,所以會以BSP—DEVICE—NAME打頭,當然這不是絕對的,開發(fā)人員也可以定義自己的bsp.h文件,定義自己的設備名。參數2標識打開設備是只讀、只寫還是讀寫。參數3就是開發(fā)人員定義的初始化參數的數組名,對有些需要初始化的設備,需要有專門的數組來存儲初始化的參數。
    open函數的作用是打開片上的設備,當打開片上集成設備成功的話,將返回一個正數,相反將返回“一1”。一般來說,如果設備打開不成功,最大的可能是由于初始化的參數不正確。對于集成有A/D模塊的芯片來說,剛開始使用的時候是會犯這種錯誤的。0pen函數最終會返回打開設備的句柄供下面的操作使用。
(2)ioctl函數
    ioctl(參數1,參數2,參數3)。
    參數1是open函數返回的打開設備的句柄。參數2是SDK定義的改變設備屬性的參數,即是對設備進行操作的參數。參數3是在改變設備過程中需要的一些參數。
    ioctl函數是SDK中最為重要的函數之一,它通過對參數2的設定來改變設備的屬性,從而對設備進行操作。表1通過對A/D操作命令的說明(即參數2),可以看出這個函數的作用。

    由上面可以看出,通過使用這樣的API函數可以非常方便的對片上的設備進行操作,避免了對大量寄存器的煩人操作,大大加快了開發(fā)的速度,減輕了程序員的負擔。
(3)close函數
    close(參數1)
    參數1是open函數返回的打開設備的句柄。
    close函數較為簡單,就是將已經打開的設備關閉。
    上面是在SDK中最為常用的函數,在使用SDK的過程中也有可能會遇到和上面功能相同,但表達式不相同的函數。


2  對片上集成模塊操作的注意事項
2.1 對GPlO口操作

    對GPIO口的操作除按照用戶手冊和SDK上的API函數說明外,還應當特別注意對GPl0一X—PER(其中的X代表的是GPl0的A,B,D,E中的任何一組)進行初始化操作,即將要操作的對應位置零??梢杂孟旅娴恼Z句,bf—clr#$0004,X:GPIO A PER。
    另外,還必須包括名為56807.h的頭文件,因為GPIO一A_PER寄存器的名稱就是在這里定義的,當然也可以使用SDK中定義的函數進行初始化。
    如果在對GPIO口的操作前不對這個寄存器進行上述初始化,則GPIO口是無法對外進行正常操作的。
2.2 對ADC的操作
    對ADC的操作主要是在它初始化載入參數時進行的。如果參數在初始化時設置不對,就很有可能連設備都不能成功打開。下面舉例來說明在設置ADC參數時應當注意的地方。
    在DSP56F807上集成有2個模數轉換器,模數轉換器包括8個輸入通道和2個獨立的采樣保持電路,轉換精度為12位。比較可貴的地方是,在每個模數轉換器的8個輸入通道中有2個通道是可以同時采樣的,這對有些需要2個信號量在同一時間值下采樣(比如同一時刻的電壓電流值)的情況是非常有用的。ADC的初始化設置參數用了一個名為adol_sState的數組來表示。

   
    在上面的參數中,第一個參數的含義是需要進行操作的模數轉換通道。第二個參數比較重要,當時按照Mo—torola的幫助文檔給出的例子進行設置,結果A/D始終無法成功的打開,后來發(fā)覺第二個參數要參照第一個參數的值來設置,參數2等于2的打開通道數的次方,如表2所列。

    筆者試過如果使用這個函數而不按表2設置參數,A/D將無法打開。
    下面給出對DSP56FS07芯片進行A/D操作的簡單程序。

    

    numread=read(handle,&Result, sizeof(Result);

    //讀取A/D轉換數值   }

2.3對定時器的操作
    在使用SDK中的SPI函數對定時器進行操作時,如果同時又在對quad timer模塊進行操作,那么應當在appconfing.
h中定義:
    #define INCLUDE_IJSER_TIMER_A_x 1
    #define INCLUDE_USER_TIMER_B_x 1
    #define INCLUDE_USER_TIMER_C_x 1
    #define INCLUDE_LISER_TIMER_D_x 1
其中x代表O~4中的一個定時器,在缺省的時候只有TIMER_A是定義為1的,即打開的。如果不對上面的幾組定時器進行定義,那么在使用SDK定義的CLOCK_AUX3~CLOCK_AUX7時就可能會出現一些問題。
2.4對鎖相環(huán)的操作
    對鎖相環(huán)系數的操作應當在appconfig.h中進行,也就是改變鎖相環(huán)的倍數,進而可以改變DSP56F807的核心時鐘和IP時鐘的頻率,具體的操作方法如下:
    #define PLL_MUL 20
PLL_MUL后面的系數最大可到50,這是DSP56F807運行的極限。
    Motorola推薦的內部時鐘頻率為80 MHz。
2.5對PWM的操作
    對PWM的操作可以完全按照手冊和SDK給出的API函數進行操作,沒有需要特別注意的地方,只是在幫助文檔中有一處有誤,在設置是否中心/邊沿對齊方式時,如果是設置邊沿對齊方式,參數應該為:PWM_EDG。
2.6對外部中斷的操作
    由于SDK初始化的時候是將外部中斷打開的,這有可能使得程序在初始化時就產生外部中斷,而此時還未指定中斷服務程序,這樣便會出錯,關掉外部中斷的方法是在appconfig.h中定義:
    #define BSP_ENABLE_INTERRUPTS O
    對其他部分的操作都可以按照手冊和sDK的幫助文檔進行,在這里不再詳述了。DSP56F807是一款不錯的芯片,筆者在使用SDK對其開發(fā)應用中學到了很多東西。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據LED驅動電源的公式,電感內電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉