SMP是SiliconLabs MCU Programmer的簡稱,是深圳世強電訊有限公司為Silicon Laboratories公司的C8051F 系列單片機量身定制的一款手持編程器。 該編程器體積小,操作簡單,編程速度快,非常適合于對C8051F系列單片機大批量編程。 詳細信息如下: 一種針對C8051F單片機的手持編程器(SMP) 美國Silicon Laboratories公司的C8051F單片機是高度集成的混合信號系統級芯片(SoC),具有與8051 兼容的高速CIP-51 內核,與MCS-51 指令集完全兼容,內置程序存儲器FLASH、數據存儲器RAM;片內集成了ADC、DAC 等常用的模擬外設及UART、SMBus、SPI 等數字外設。 C8051F單片機具有片內調試電路,通過4 腳的JTAG 接口或者2線的C2接口可以進行非侵入式、全速的在系統調試及下載。 基于以上特點,C8051F單片機在工業控制、消費電子、通信等領域得到了廣泛應用。但是,用戶在生產過程中,希望一種方便快捷地對單片機編程,針對這種情況,深圳世強電訊有限公司設計開發了一款手持編程器(以下簡稱:SMP)方便用戶編程。 一、 SMP 開發背景 單片機編程是生產環節的一道重要工具,目前對單片機編程主要有兩種方式:離線編程和在線編程。 1、 離線編程 離線編程連接方式如圖1 所示: 圖1 離線編程方式連接示意圖 目前大多數51單片機都是采用的是離線編程方式,但是離線編程方式存在以下缺點:
2、 在線編程 目前C8051F單片機主要采用在線編程方式,連接方式如圖2 所示: 圖2 C8051F 單片機目前常用編程方式示意圖 用戶在使用這種方式時反饋如下問題:
以上兩種目前常用的編程方式或多或少都會給用戶生產帶來不方便,針對這種情況,深圳世強電訊有限公司針對Silicon Laboratories公司的C8051F單片自主研發了一款方便、安全、易于操作的手持編程器(SPP),SPP的推出可以極大的方便用戶生產、現場編程。 二、 SMP 簡介 SMP 是深圳世強結合Silabs C8051F 單片機高保密性、低功耗的特點,為方便用戶輕松編程而開發的一款手持式編程器。此編程器專門針對C8051F單片機用戶,操作簡單,PC機下載HEX文件到編程器不需專門的軟件,只需超級終端(Windows 系統都自帶)即可完成;在編程過程中不需PC 機的參與,操作人員只需簡單按編程鍵或者插拔編程頭即可完成編程工作;另外,編程器被多重加密,很好保護用戶的知識產權不被侵犯。SMP外觀如圖3 所示: 圖3 SMP外觀示意圖 1、 編程器概貌
2、 對外接口
3、 操作開關
4、 狀態指示
5、 主要配件 SMP提供的主要配件是一個編程手柄,編程手柄上的插針可以插拔以組成單排五針或三針的編程頭,用戶無需在PCB上安裝體積較大的標準插座,只需相應留出五個或三個編程孔,節約PCB空間和成本。 三、 SMP 功能及特點 SPP是一款適合于在生產環境或者現場使用的在線編程器,它具備如下功能和特點: 1、 編程方式靈活 1) 編程接口可選 在所有C8051F 系列單片機中,編程口有四線制JTAG 方式和兩線制C2 方式。JTAG 是一種標準接口,有TDI,TDO,TMS,TCK 四個信號,在C8051F0XX,C8051F1XX,C8051F2XX系列單片機上具有這種接口;C2 接口是一種簡單接口,遵循Silabs 自有的C2 協議,這種接口適合于小封裝的單片機上,它只有兩條信號線:C2CK(時鐘線)和C2D(數據線),在C8051F3XX、C8051F4XX、C8051F5XX上具有這種接口。 可以通過SMP初始化配置界面選擇編程接口。 2) 編程模式可選 通過SMP 初始化配置界面的簡單設置,用戶可以選擇只擦除目標器件或者編程目標器件。另外,用戶可以通過SMP初始化配置界面選擇自動編程或者手動編程。當選擇自動編程時,只要將編程頭插到目標板上編程自動進行;當選擇手動編程,插上編程頭后,只需按下編程按鈕即可完成編程或者擦除操作。 3) 編程界面可選 ①聯機操作:用戶可以選擇在PC機上通過超級終端(Windows自帶)監視編程過程; ②脫機操作:編程過程中不需PC 機的參與,SMP 連到目標板后,只需按下編程按鈕即可對目標板編程,通過狀態指示燈和蜂鳴器監測編程過程。 2、提供靈活的編程手柄 在小封裝MCU的應用中,大多數用戶的PCB空間受限,要在用戶的PCB板上放置一個雙排十針的標準編程頭是不現實的,也是不經濟的。考慮到這種情況,SPP除了提供一個標準的十針編程頭外,還提供一個編程手柄。編程手柄一端連接到SPP上,另外一端即為用于連接目標板的編程頭。 編程頭上的插針可以插拔以組成兩種編程頭:單排五針編程頭和單排三針編程頭。用戶可以根據PCB的大小,選擇不同的編程頭。當選用五針或三針編程頭時,用戶無需在PCB 上安裝一個體積較大的雙排十針插座,只需在其PCB 上留出五個或者三個編程用的插孔。另外,編程頭的插針為彈簧針的結構,用戶只需將編程頭壓在目標板的編程孔上即可完成自動編程或者手動編程。靈活的編程手柄充分考慮了用戶的利益,節約了用戶PCB空間和成本。 3、供電方式靈活
4、保密性能高 為保護用戶的知識產權和經濟利益,SMP實現了高度加密。SMP加密分為兩個層次,SPP本身的內容實現完全加密、SPP的使用實現口令保護。 1) 編程器本身被完全加密 SMP 使用了Silabs 的MCU 作為主控芯片。Silabs 的MCU 提供了多種安全機制以保護Flash不被訪問。Silabs MCU主要提供了如下安全機制:
SMP的主要功能是接收用戶的HEX 文件用于下載到目標板,保護用戶HEX 文件的安全是SMP 的職責。因此,在SMP 中主要采用了“防止程序被仿真器讀取”的安全機制。SMP被完全加密,仿真器無法讀取SMP Flash中的任何內容,甚至仿真器都不能連接到SMP,仿真器要訪問SMP,必須首先將SMP的Flash全部擦除。因此,用戶的HEX裝入到SMP后不會被盜取,有效保護了用戶的知識產權不被侵犯。 2) 編程器實行口令保護 另外,SMP實行口令保護。每一臺SMP都有唯一編號,同時,世強會為每一臺SMP分配一個唯一的口令。口令與編程數量相關,當編程數量達到預分配值時,編程口令會失效,用戶需要獲得新的口令才能對SMP進行操作。只有授權用戶才能得到SMP口令,即使授權用戶的SMP 被非授權用戶獲得,非授權用戶在編程到一定量的時候編程器就無法被繼續使用,這樣可以充分保護授權用戶的利益。 5、 狀態指示明確 當PC機參與編程過程時,可以從PC的超級終端清晰看到編程器的配置、編程模式的設置、編程進程、編程結果等等細節。 當SMP 脫機操作時,可以只通過狀態指示燈和蜂鳴器監測編程過程。在SMP 工作的每一個階段,狀態指示燈和蜂鳴器的指示都有明確的含義,根據編程的階段以及當前狀態指示燈和蜂鳴器的狀態,可以準確判斷當前SMP的工作狀態。 四、 SMP 操作流程 SMP操作分為初始化、編程操作、固件升級三個個部分 1、SMP初始化流程 SMP 在第一次使用時需要初始化,初始化包括輸入SMP 口令、選擇目標器件、設置編程接口和編程模式、擦除Flash空間、接收被下載HEX 文件等等。SMP初始化需要PC機的參與,利用Windows自帶的超級終端(HyperTerminal)軟件提供人機接口。操作流程如圖4所示: 圖4 SMP初始化流程圖 2、 SMP編程操作流程 當SPP 完成初始化工作后,就可以用來完成編程工作了。編程時可以不需要PC 機的參與,編程操作非常簡單,操作流程如圖5 所示: 圖5 SMP編程操作流程圖 從以上看,SMP的操作非常簡單,容易掌握。 3、 固件升級 為了方便用戶隨時得到最新的編程器服務,用戶可以在本地升級編程器的固件程序,固件程序可以從世強的網站下載或者直接聯系世強的相關人員。固件升級流程如下: 圖6 SMP固件升級流程圖 |