基于AT91 M42800A的LED顯示系統設計
發布時間:2008/5/27 0:00:00 訪問次數:501
    
    
    摘要介紹一種應用于實際工業生產現場中的大型led顯示系統的設計和研制。該系統采用高性能32位arm微處理器為其控制核心,并由其實現led顯示屏刷新及動態顯示效果的控制。系統通過rs-485協議與現場總線進行數據通信,led顯示屏的行、列驅動信號分別由arm處理器的2個spi口輸出。該系統具有硬件結構簡單、led顯示刷新速度快、系統可靠、功能強大、成本適宜等特點。本方案經過在某大型物流生產線上的長期實際運行,證明其設計是成功的。
    
    關鍵詞led顯示系統arm微處理器spi
    
    最近,筆者在某工廠大型生產線上基于現場總線的物流呼叫系統項目中發現,由于所需要顯示的信息流比較大,用現有的基于at89c51芯片組成的led顯示屏控制系統,由于受到微處理器的處理速度、體系架構、尋址范圍、外圍接口資源等諸多限制,已難以在要求顯示較多像素、顯示內容幀頻較高、動態顯示效果復雜的情況下,得到良好的動態視覺效果。針對以上情況,在利用現有資源的基礎上,重新設計和研制了一種全新的,由32位高性能arm微處理器組成的led顯示屏控制系統,并通過rs485接口與現場總線中的上位機進行實時數據通信,實現整個系統的信息顯示。
    
    1系統硬件結構
    
    該系統的硬件組成框圖如圖1所示。圖1中,微處理器是atmel公司生產的at91m42800a,它采用基于arm7tdmi內核的高性能32位risc架構的處理器,有著豐富的外圍接口資源。at91m42800a有2個usart外圍接口,系統用usart0口和max485組成485接口電路,具體的接口電路如圖2所示。at91m42800a還有2個spi口,每個spi口有4根片選信號,通過片選均可以支持外接15個設備。該系統的做法是將2個spi口分別接到列驅動電路和行驅動電路上,并利用各自的2個片選信號cs0和csl完成驅動電路的信號鎖存和允許輸出控制,spi的clk輸出作為驅動電路的時鐘信號輸入,工作頻率為4mhz。
    
    
    sram接口電路由2塊hy57v641620芯片并聯組成,hy57v641620是hynix公司生產的4banksxlm×16位的sdram芯片,單片hy57v641620存儲容量為4組×16m位(8mb),支持自動刷新,16位數據寬度。為充分發揮32位cpu的數據處理能力,系統用2塊8ns的hy57v641620組成32位sdram存儲器系統。flash存儲器接13電路由1塊hy29lvl60芯片組成。hy57v641620是flash存儲器芯片,單片存儲容量為16m位(2mb),8/16位數據寬度,本系統采用16位數據寬度的工作方式。具體的電路連接可參閱參考文獻。
    
    行驅動電路由allegro公司的36片a68595級聯組成,顯示屏背面每行數據線由串人并出移位寄存器a68595級聯而成,a68595片內集成有mos管構成的驅動器,足夠驅動發光二極管發光。列驅動電路由allegro公司的24片a6276級聯組成,a6276是16位帶鎖存的串入并出移位led驅動芯片。a68595和a6276級聯時引腳和聯接方法如圖2所示,電路都較為簡單(其中帶端口框標的為at91m42800a的相應引腳)。其他詳細的性能資料,請查閱atmel和allegro公司的相關產品文檔。at91m42800a的spi口均采用16位串行輸出工作方式,利用32位arm處理器的高速性能,能夠充分提高數據傳輸速度。
    
    
    2工作原理
    
    該系統與上位機的通信由at91m42800a的usarto的口與485接口電路完成,上位機僅需將要顯示的數據,傳送至at91m42800a即可。開機后,ar91m42800a初始化,讀入啟動代碼后,將保存在flash存儲器內的程序代碼和所要顯示的字模數據,重映射到sdram中,使得系統的數據存取全部在高速sdram中完成。在接收到上位機的數據后,at91m42800a將要顯示的數據,轉換成相對應的led屏顯示驅動信號,再加入相應的動態顯示效果控制程序(畫面左移、上移、開幕、覆蓋、閃爍和直顯等)后,用spi口分別輸出給行、列驅動電路。同時,若有需要,上位機所傳來的數據或圖像畫面,也可以保存在flash存儲器中。
    
    顯示屏采用1/16動態逐次行掃描方式,先將spia端口中的24個字節數據依此串行移入對應的24個a6276列驅動電路,并鎖存。接著,spib端口再將一行行選通信號串行移入行驅動電路,完成一行的led顯示。然后依理,逐次的顯示led屏的各行。
    
    二極管亮滅時間的占空比可用
    
    
    摘要介紹一種應用于實際工業生產現場中的大型led顯示系統的設計和研制。該系統采用高性能32位arm微處理器為其控制核心,并由其實現led顯示屏刷新及動態顯示效果的控制。系統通過rs-485協議與現場總線進行數據通信,led顯示屏的行、列驅動信號分別由arm處理器的2個spi口輸出。該系統具有硬件結構簡單、led顯示刷新速度快、系統可靠、功能強大、成本適宜等特點。本方案經過在某大型物流生產線上的長期實際運行,證明其設計是成功的。
    
    關鍵詞led顯示系統arm微處理器spi
    
    最近,筆者在某工廠大型生產線上基于現場總線的物流呼叫系統項目中發現,由于所需要顯示的信息流比較大,用現有的基于at89c51芯片組成的led顯示屏控制系統,由于受到微處理器的處理速度、體系架構、尋址范圍、外圍接口資源等諸多限制,已難以在要求顯示較多像素、顯示內容幀頻較高、動態顯示效果復雜的情況下,得到良好的動態視覺效果。針對以上情況,在利用現有資源的基礎上,重新設計和研制了一種全新的,由32位高性能arm微處理器組成的led顯示屏控制系統,并通過rs485接口與現場總線中的上位機進行實時數據通信,實現整個系統的信息顯示。
    
    1系統硬件結構
    
    該系統的硬件組成框圖如圖1所示。圖1中,微處理器是atmel公司生產的at91m42800a,它采用基于arm7tdmi內核的高性能32位risc架構的處理器,有著豐富的外圍接口資源。at91m42800a有2個usart外圍接口,系統用usart0口和max485組成485接口電路,具體的接口電路如圖2所示。at91m42800a還有2個spi口,每個spi口有4根片選信號,通過片選均可以支持外接15個設備。該系統的做法是將2個spi口分別接到列驅動電路和行驅動電路上,并利用各自的2個片選信號cs0和csl完成驅動電路的信號鎖存和允許輸出控制,spi的clk輸出作為驅動電路的時鐘信號輸入,工作頻率為4mhz。
    
    
    sram接口電路由2塊hy57v641620芯片并聯組成,hy57v641620是hynix公司生產的4banksxlm×16位的sdram芯片,單片hy57v641620存儲容量為4組×16m位(8mb),支持自動刷新,16位數據寬度。為充分發揮32位cpu的數據處理能力,系統用2塊8ns的hy57v641620組成32位sdram存儲器系統。flash存儲器接13電路由1塊hy29lvl60芯片組成。hy57v641620是flash存儲器芯片,單片存儲容量為16m位(2mb),8/16位數據寬度,本系統采用16位數據寬度的工作方式。具體的電路連接可參閱參考文獻。
    
    行驅動電路由allegro公司的36片a68595級聯組成,顯示屏背面每行數據線由串人并出移位寄存器a68595級聯而成,a68595片內集成有mos管構成的驅動器,足夠驅動發光二極管發光。列驅動電路由allegro公司的24片a6276級聯組成,a6276是16位帶鎖存的串入并出移位led驅動芯片。a68595和a6276級聯時引腳和聯接方法如圖2所示,電路都較為簡單(其中帶端口框標的為at91m42800a的相應引腳)。其他詳細的性能資料,請查閱atmel和allegro公司的相關產品文檔。at91m42800a的spi口均采用16位串行輸出工作方式,利用32位arm處理器的高速性能,能夠充分提高數據傳輸速度。
    
    
    2工作原理
    
    該系統與上位機的通信由at91m42800a的usarto的口與485接口電路完成,上位機僅需將要顯示的數據,傳送至at91m42800a即可。開機后,ar91m42800a初始化,讀入啟動代碼后,將保存在flash存儲器內的程序代碼和所要顯示的字模數據,重映射到sdram中,使得系統的數據存取全部在高速sdram中完成。在接收到上位機的數據后,at91m42800a將要顯示的數據,轉換成相對應的led屏顯示驅動信號,再加入相應的動態顯示效果控制程序(畫面左移、上移、開幕、覆蓋、閃爍和直顯等)后,用spi口分別輸出給行、列驅動電路。同時,若有需要,上位機所傳來的數據或圖像畫面,也可以保存在flash存儲器中。
    
    顯示屏采用1/16動態逐次行掃描方式,先將spia端口中的24個字節數據依此串行移入對應的24個a6276列驅動電路,并鎖存。接著,spib端口再將一行行選通信號串行移入行驅動電路,完成一行的led顯示。然后依理,逐次的顯示led屏的各行。
    
    二極管亮滅時間的占空比可用