L結(jié)構(gòu)處理器編程及應(yīng)用 《第一版》
長沙理依信息科技有限公司
二OO六年十月
前言
L結(jié)構(gòu)處理器是采用新型體系結(jié)構(gòu)(L計算機處理器體系結(jié)構(gòu))的、具有多任務(wù)處理功能的系列嵌入式處理器的總稱,統(tǒng)稱為LSSP,可廣泛用于生產(chǎn)過程控制、自動檢測、數(shù)據(jù)采集與處理、科技計算、商業(yè)管理和辦公室自動化等方面。它除了具有體積小、重量輕、可靠性高、通用性強等優(yōu)點外,尤其是極具特色的快速多任務(wù)處理可廣泛用于衛(wèi)星定向、汽車火花控制、音頻與視頻控制、交通自動管理、微波爐控制、中央空調(diào)控制、溫控和濕控等專用控制上。
L結(jié)構(gòu)處理器所構(gòu)成的計算機應(yīng)用系統(tǒng)特點是:
L結(jié)構(gòu)處理器芯片所構(gòu)成的應(yīng)用系統(tǒng)有較大的可靠性。
系統(tǒng)擴展和系統(tǒng)配置規(guī)范,容易構(gòu)成各種規(guī)模的應(yīng)用系統(tǒng)。
構(gòu)成極具特色的多任務(wù)計算機系統(tǒng),相當多的測試和控制功能由軟件實現(xiàn),故具有很強的柔性特點.有優(yōu)異的性能價格比。
目前的嵌入式處理器應(yīng)用技術(shù)是使用嵌入式處理器和可編程邏輯器件相結(jié)合構(gòu)成的新一代電子應(yīng)用技術(shù),這是工程應(yīng)用技術(shù)發(fā)展的一個新趨勢,L結(jié)構(gòu)處理器正是這種新技術(shù)的最佳結(jié)果。選擇L結(jié)構(gòu)處理器就意味著選擇了最新技術(shù)。
現(xiàn)有的L結(jié)構(gòu)處理器是字長為16位的嵌入式處理器,其最具特色是不用中斷而用事件觸發(fā);不用軟件編程形成的時間復(fù)用方式的多任務(wù)而用芯片內(nèi)部硬件自動實現(xiàn)的多道程序并發(fā)機制來完成多任務(wù)的處理。
為了讓編程人員掌握L結(jié)構(gòu)處理器應(yīng)用系統(tǒng)軟件編程和設(shè)計,編寫了本分文檔,為了節(jié)省篇幅,突出重點,對于L結(jié)構(gòu)處理器的結(jié)構(gòu)和基本原理不作介紹。
文檔共分成7部分:
第1部分強調(diào)L結(jié)構(gòu)處理器的軟件設(shè)計要點。
第2部分介紹多任務(wù)設(shè)計方法。介紹了不相關(guān)聯(lián)的多個任務(wù)分別通過相應(yīng)的道程序并發(fā)執(zhí)行各個任務(wù);對于具有相同的程序段,只是程序參數(shù)和運算結(jié)果不同時,分解成多個任務(wù)由各個道程序并發(fā)運行;子程序在多任務(wù)情況下的調(diào)用、0道程序的處理及數(shù)據(jù)存儲單元的分配。
第3部分介紹了多道程序運行時的同步和互斥問題。用了一個背包加密和解密設(shè)計項目,通過11個步驟,用數(shù)據(jù)標志位或同步標志位控制道程序之間的同步和互斥。
第4部分介紹了外部事件的處理。6個外部事件與通過外部事件激活的道程序的處理方式中,給出了同一個外部事件多次激活道程序的執(zhí)行程序,闡述了多個外部事件多次激活道程序的方法。
第5部分介紹了系統(tǒng)硬件接口程序。包括人機對話通道接口程序如鍵盤、顯示器及計數(shù)/定時器等接口程序。
第6部分總線設(shè)計介紹了幾種常用的總線標準及芯片接口程序。如I2C接口程序、SPI接口處理程序及一總線接口處理程序等。
第7部分為通用軟件設(shè)計方法。介紹了程序語言編寫方法,L結(jié)構(gòu)處理器的匯編語言編程技巧等。
由于作者開發(fā)設(shè)計L結(jié)構(gòu)處理器應(yīng)用軟件的時間不長,文檔中的錯誤與不妥之處在所難免,敬請諒解且請批評指正。
目錄
一、程序設(shè)計的要點 3
二、最簡硬件系統(tǒng)及其軟件設(shè)計框架 3
1、硬件系統(tǒng)最簡構(gòu)成方案 3
2、軟件設(shè)計最基本框架 3
三、多任務(wù) 3
1、不相關(guān)聯(lián)的多任務(wù) 3
2、相同的運算程序段用多道程序處理 3
3、子程序在多道程序中的調(diào)用 3
4、多任務(wù)處理應(yīng)以0道程序為基準 3
5、多任務(wù)中應(yīng)建立好道程序的存儲數(shù)據(jù)區(qū)和共享數(shù)據(jù)區(qū) 3
四、多道程序間的同步與互斥 3
一)、多道程序同步與互斥 3
1. 由私人密鑰產(chǎn)生公開密鑰 3
2. 加密 3
3. 解密 3
4. 程序流程及密鑰求解 3
5. 同步方式與互斥方式細化多道程序的任務(wù) 3
6.啟動0道程序且數(shù)據(jù)初始化同時分發(fā)各道程序 3
7.1~30道程序中的同步與互斥處理 3
8.輸入明文 3
9. 同步并發(fā)1~15道加密程序 3
10. 同步并發(fā)16~30道解密程序 3
11. 輸出明文 3
二)、設(shè)置同步標志位 3
1.同步標志初始化 3
2.加密后開啟同步標志 3
3.同步標志啟動解密道程序 3
五、事件處理 3
1、多個不同事件的處理 3
2、同一事件多次發(fā)生的處理 3
3、多個不同事件的多次發(fā)生處理 3
六、硬件接口程序設(shè)計 3
1、 定時器程序設(shè)計方法及實例 3
2、 鍵盤設(shè)計 3
1)、簡單行列結(jié)構(gòu)鍵盤設(shè)計 3
2)、外部事件觸發(fā)定時掃描行列鍵盤的設(shè)計 3
3)、編碼鍵盤 3
3、 顯示程序設(shè)計方法及實例 3
1)、串行接口8位共陰極LED驅(qū)動器MAX7219與LSSP的接口電路 3
2)、段式LCD顯示器與LSSP連結(jié)的驅(qū)動接口 3
七、總線標準常用芯片及程序設(shè)計 3
1、 I2C總線及接口程序設(shè)計 3
2、 SPI總線及接口程序設(shè)計 3
3、 一總線接口及程序設(shè)計 錯誤!未定義書簽。
八、常用程序的設(shè)計方法 3
1、 程序流程圖的畫法 3
2、 簡單程序 3
3、 分支程序 3
4、 循環(huán)程序 3
5、 查表程序 3
6、 子程序 3
7、 散轉(zhuǎn)程序 3
(1)、使用轉(zhuǎn)移指令表的散轉(zhuǎn)程序 3
(2)、使用地址偏移量的散轉(zhuǎn)程序 3
(3)、使用轉(zhuǎn)向地址表的散轉(zhuǎn)程序 3
(4)、使用轉(zhuǎn)向地址偏移量表的散轉(zhuǎn)程序 3
一、程序設(shè)計的要點
1. LSSP最多可支持32道程序的并發(fā)執(zhí)行,程序道號依次為#0 - #31;
2. 0道程序應(yīng)作為程序設(shè)計的基礎(chǔ): 啟動或復(fù)位后,系統(tǒng)首先啟動0道執(zhí)行。這樣在程序設(shè)計時,必須以0道程序為基礎(chǔ),整個程序的規(guī)劃應(yīng)以0道程序為基準。
3. 數(shù)據(jù)的共享:在設(shè)計多道程序中的一個主要問題是確定多道程序的數(shù)據(jù)共享,每道程序除了要完成本道的程序任務(wù)外,還要實現(xiàn)其它道程序之間的數(shù)據(jù)共享。在L結(jié)構(gòu)處理器中,共享數(shù)據(jù)是通過定義共享數(shù)據(jù)(PD … ENDS)段實現(xiàn)的。
4. 0道程序負責共享數(shù)據(jù)的初始化:多道程序的共享數(shù)據(jù)一般由0道程序負責進行初始化,以保證多道程序的正常運行。
5. 0道程序根據(jù)系統(tǒng)設(shè)計的要求激活相應(yīng)道的程序:每道程序都由0道程序激活執(zhí)行,也只有0道程序才能激活其它道程序。
6. 0道程序激活某道程序后,在該道程序處于執(zhí)行狀態(tài)時,0道程序不得再次激活該道程序;只有當該道程序執(zhí)行結(jié)束且退出后,0道程序才能再次激活該道程序。
7. 其它道程序不能激活程序。
8. 程序存儲單元的區(qū)域范圍為0000H—7FFF,每個存儲單元為32位二進制的數(shù)。
9. 數(shù)據(jù)存儲單元的區(qū)域范圍為0000H—3FE0,每個存儲單元為16位二進制的數(shù)。
10. 每道程序都有各自獨立的16個通用寄存器。
11. 由22個特殊寄存器,用于訪問外部EEPROM和RAM的地址寄存器、訪問外部EEPROM和SRAM的數(shù)據(jù)寄存器、用戶可編程的I/O以及Watchdog寄存器等。具體使用方式,請詳見《說明書》。
二、最簡硬件系統(tǒng)及其軟件設(shè)計框架
1、硬件系統(tǒng)最簡構(gòu)成方案
LSSP芯片有100個腳位,它與AT28LV010芯片相連可組成最簡的LSSP硬件應(yīng)用系統(tǒng)。AT28LV010是一款擁有1Mbit電可擦除的只讀存儲器。LSSP系統(tǒng)每條匯編指令占32位,有220
評論