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