王英志 張 超 ,2 楊 佳
(1.長春理工大學 電子信息工程學院,吉林 長春 130022;2.上海品奇數碼科技有限公司,中國 上海 200070;3.吉林建筑大學 電氣與電子信息工程學院,吉林 長春 130021;4.吉林省建筑電氣綜合節能重點實驗室,吉林 長春 130021)
在實際的電子研發設計、調試、以及現場維護工作中電子工程師需要一個完善,輕巧,功能復雜,操作簡潔,可定制的通信調試儀器,既能使電子工程師滿足輕便,易連接的要求,也要滿足可任意定制,自我完善的功能。跟據市場調查,目前市場上還不存在一個完善快速的,不依賴與計算機的通訊調試系統。很多都是功能單一,例如:基于8051的系統串口調試儀,基于PIC單片機的CAN調試系統。本設計是一個基于STM32F103 ARM,以通信測試、顯示為主要功能的測試儀。
本測試儀硬件上有CAN,RS232,串行通訊接口,RS485,以及預留通訊協議模擬接口,通過軟件很容易實現一個多重通信于一體的超級通訊機制,而且板載最大容量為16GByte的NAND Flash芯片,最大可擴展32GByte的SDCard多媒體卡片,滿足數據記錄時打大容量存儲需求,并且移植了FAT文件系統,目前支持FAT,FAT16,FAT32文件系統,可支持長文件名,為了兼容嵌入式系統設計本儀器搭載了1MByte的SRAM存儲,系統可直接訪問外部SRAM作為系統緩存,為圖形化設計提供了前提,同時增強了系統的擴展性設計,為系統的快速響應提供了硬件保障。工作在ISM2.4G頻段的無線通訊模塊,極大的擴展的系統的通訊能力。硬件框圖如圖1所示。

圖1 系統整體硬件概覽
ARM通過FSMC將NAND Flash、SRAM、以及圖形顯示驅動器這些總線型設備連接到一起。在通訊接口設計上主要得利于STM32強大的接口能力,設計中選用的STM32F103ZET6型號的處理器具有3個支持 ISO7816的 USART,一個 CAN(2.0B主動),一個USB接口。CAN信號由ARM接口經SN65HVD230總線驅動器發送到CAN總線上去。
Cortex-M3內核最多支持240個事件中斷,對于STM32F1系列的產品,供用戶使用的只有64個可配置中斷,這對于我的設計來說已經綽綽有余。對于極高優先級的任務觸發,采用NMI不可屏蔽中斷,對于日常事務,可以由軟中斷發出請求。另外Cortex-M3為了更好的支持嵌入式應用,內部硬件設置了一個32bit的滴答定時器,在以前,大多操作系統需要一個硬件定時器來產生操作系統需要的滴答中斷,作為整個系統的時基。例如,為多個任務許以不同數目的時間片,確保沒有一個任務能霸占系統;或者把每個定時器周期的某個時間范圍賜予特定的任務等,還有操作系統提供的各種定時功能,都與這個滴答定時器有關。因此,需要一個定時器來產生周期性的中斷,而且最好還讓用戶程序不能隨意訪問它的寄存器,以維持操作系統“心跳”的節律。Cortex-M3處理器內部包含了一個簡單的定時器。因為所有的Cortex-M3芯片都帶有這個定時器,軟件在不同Cortex-M3器件間的移植工作得以化簡。該定時器的時鐘源可以是內部時鐘(FCLK,Cortex-M3上的自由運行時鐘),或者是外部時鐘(Cortex-M3處理器上的STCLK信號)。程序框圖如圖2所示。

圖2 系統軟件整體框圖
隨著科技和電子工程的飛速發展,工程師面臨越來越多的工業調試,現場數據記錄,亦需要一種功能強大便于攜帶和互聯的通信測試設備。文中通過模塊化的設計,創建了一種通用的通訊測試儀硬件結構。簡化了現場工程師的負擔,在提高可靠性和性能的前提下,降低了成本,具有良好的應用前景。本文描述的硬件和軟件設計還有很多不足之處。通訊接口部分增加靜電防護,例如TVS、壓敏電阻等瞬態抑制器件。軟件健壯性還需要更多的時間來完善,有待現場問題的反饋。
[1]饒運濤.現場總線CAN原理與應用技術[M].2版.北京:北京航空航天大學出版社,2007.
[2]羅峰,孫澤昌.汽車CAN總線系統原理、設計與應用[M].北京:電子工業出版社,.2010.
[3]GB/T19582.3-2008基于ModBus協議的工業自動化網絡[S].
[4]ST 意法半導體.STM32F10xxx 參考手冊[S].
[5]宋巖.Cortex-M3權威指南[M].北京:北京航空航天大學出版社,2009.