本文針對磁場檢測儀需要眾多軟硬件開發人員協同開發的問題,引入Redmine項目管理平臺進行項目開發的協同管理。采用Proteus實現下位機硬件和嵌入式軟件的并行開發,引入嵌入式系統和SVN版本管理器對嵌入式軟件各模塊進行協同開發。采用Bus Hound實現上位機和下位機軟件的并行開發。最終,該協同開發模式的引入使得本項目開發用時比原計劃用時減少25%,同時項目質量也有提高。
隨著電子產品功能日益增多、性能日益增強,低成本32位微處理器、多層PCB板被廣泛應用,軟件和開發團隊的規模隨之擴大,同時開發周期呈指數增長。因此,以往的開發方式越來越不適應項目開發的需要。目前,國內磁場檢測儀器主要集中應用在工業用低頻強磁場和通信用的高頻弱磁場測量上,而中頻強磁場測量仍是磁場測量領域的一個難題。基于嵌入式操作系統的中頻強磁場的測量系統開發中,涉及到高速硬件電路設計、多層PCB板布線、32位微處理器編程、上位機軟件編程等多項工作,因此,需要眾多開發人員協同開發。
通過長期的實踐發現,在項目開發中引入開源項目管理平臺Redmine、嵌入式操作系統μC/OS-II、仿真軟件Proteus和調試軟件Bus Hou nd,能夠有效地提升整個項目的協同開發能力和管理水平。采用協同開發管理模式,可以達到以下4方面的顯著效果:提高嵌入式軟件和硬件之間的協同開發效率;提高嵌入式軟件各模塊間的開發效率和開發質量;提高上位機和下位機軟件的開發效率和開發質量;有效提高整個項目協同開發的管理水平。
1 磁場檢測儀開發管理平臺
項目管理的好壞關系到項目開發質量的高低,同時,對開發效率和開發質量也將產生重大的影響。目前市場上,基于Web的開源項目管理軟件已經發展得很成熟,此類軟件在高校的教學和研究,以及中小企業的項目開發管理中,都得到了廣泛的應用。
現階段,在磁場檢測系統項目開發中,由于軟硬件的開發復雜,開發人員眾多且開發人員存在著開發能力參差不齊、流動性大等特點,加上項目的開發時間跨度大等原因,使得項目管理變得十分困難。經過筆者應用分析,從軟件的成熟度、穩定性、流行性、社區發展情況,以及安裝配置的簡易性這幾方面進行詳細的分析比較,最終在Launchpad、Redmine和Trac這3個軟件中,選擇了Redmine。
在磁場檢測系統的項目管理平臺搭建中,首先,利用BitNami Redmine Stack提供的一鍵式安裝包,安裝好Redmine平臺,然后把中頻磁場檢測系統開發團隊的成員、任務(問題)、文檔、討論、Wiki、版本管理,以及各種形式的資源整合在此平臺上,大家通過一起參與更新任務、更新文檔等來推動項目的進度。同時,系統地利用時間線索和各種報表,動態顯示項目的進度狀態。
在項目中引入Redmine管理平臺,界面如圖1所示。起到了立竿見影的效果:
①開發團隊中新加入的成員通過此平臺,可以快速地了解項目的詳細情況,從而能夠快速地接手項目;
②團隊中如有成員離開,其他成員可以快速地接手該成員原來負責的任務;
③相對于以往采用客戶端TortoiseSVN訪問SVN的方式,開發成員更容易接受Redmine提供的Web訪問方式,來訪問和操作SVN版本控制器;
④為團隊成員的內部溝通和交流提供了高效的平臺;
⑤根據項目的進展情況,可以及時地調整項目的進度,從而實現高效的動態管理。
2 嵌入式軟件和硬件協同開發
Proteus可以實現原理圖設計、PCB布板以及微處理器與外圍電路的協同仿真。Proteus微處理器模型支持8051、PIC、MSP430、AVR、ARM 7和HC11等系列微處理器。其中,2011年推出的Proteus7.10版本,增加了對ARM Correx-M3系列處理器的支持。
電子產品從芯片的選型、電路設計、PCB布板到樣板焊接調試,這中間一般需要幾個月的時間,這段時間對整個項目開發來說,是非常關鍵的。在磁場檢測儀樣板制作的同時,嵌入式軟件開發人員在Proteus中繪制基本原理圖后,就可著手在Proteus的ARM Cortex-M3微處理器模型上編寫程序。
由于采用Proteus和IAR聯調,即在IAR集成開發環境中進行代碼調試,運行和調試結果直接在Proteus中顯示,因此不用等到樣板制作完畢再開始嵌入式軟件的調試,從而做到嵌入式軟件和硬件的同步開發。
另外,相對于直接在樣板上調試,Proteus更容易判斷出某個功能不能實現的具體原因,是由于硬件的故障還是軟件的編程問題引起的,從而避免了誤將硬件故障認為是軟件編程問題的情況發生,大大提高開發效率。另一方面,在磁場檢測儀LCD顯示驅動程序的調試中,利用Proteus提供的邏輯分析儀虛擬儀器測量LCD驅動時序,可以非常直觀地調試LCD的驅動程序,快速地完成LCD驅動程序的編程和調試。
由于磁場檢測儀中每一版本的PCB都只焊接制作了3塊樣板,大部分調試都在Proteus上完成。所以,用Proteus代替實際樣板調試,可以很大程度地減少元件的購置,減少樣板的制作;同時,也大大減少了JTAG仿真器、示波器、邏輯分析儀等調試設備的購置。為磁場檢測系統開發節約大量的資金和寶貴的開發時間。
3 嵌入式軟件各模塊協同開發
3.1 引入嵌入式操作系統實現任務分解
現在,國內低端手機設計上廣泛使用聯發科技MTK的方案,將手機芯片和手機軟件平臺預先整合到一起。MTK的整套軟件系統十分龐大且復雜,但其架構是引入Nucleus嵌入式操作系統,將手機軟件分解成多個任務并行開發。
MTK使用了Nucleus實時操作系統,但在其上做了內核抽象層的封裝,以適應最終生產廠商選擇其他實時操作系統的需要(如選擇替換為ThreadX)。Nucleus、ThreadX和μC/OS-II這3個嵌入式操作系統功能上很類似,但商用lICense是不一樣的。其中μC/OS-II應用在市場上銷售的產品,是需要購買license的;而針對高校的教學和研究,是免費的。這也是μC/OS-II廣泛被高校教師和學生認知的一個重要原因,同時這也是我們優先采用μC/OS-II作為磁場檢測儀的嵌入式操作系統的一個重要原因。
目前,ARM程序的規模一般都很大,需要多人協同開發。由于不帶嵌人式操作系統的程序,僅依靠全局變量和函數傳遞信息,程序耦合度十分高,很難實現多人的協同開發。引入嵌入式操作系統后,各個任務間通過消息郵箱、消息隊列或信號量同步,大大降低程序的耦合度,極大地提高團隊協同開發的效率。
引入嵌入式操作系統后,一般將程序分成幾個任務(線程),分別由專人負責。嵌入式軟件開發流程中,首先是對電路板和嵌入式操作系統進行初始化,接著創建若干任務,剩下的工作就是編寫每個任務或中斷處理的程序代碼。圖2為磁場檢測儀的中斷和任務間的同步關系框架圖。
3.2 引入版本控制器實現代碼合并
引入嵌入式操作系統后,每個嵌入式軟件開發人員只需負責一個或若干任務。通過引入源代碼控制軟件,可以實現嵌入式軟件代碼的整合和集中備份。其中,SVN是BitNami Redmine Stack一鍵式安裝模式中默認安裝的版本控制器。通過SVN的使用,開發人員每天回到實驗室,
通過SVN更新整個項目代碼,然后用Source Insight開始一天的代碼編寫工作。下班前,使用IAR編譯平臺進行代碼編譯,確認沒有編譯錯誤后,再把自己修改過的代碼上傳到SVN中。上傳代碼時,SVN會自動檢測代碼是否存在沖突(如果兩個或多個開發人員都改動了某一文件的同一地方,SVN會提示存在沖突)。如果存在沖突,開發人員可根據實際需要,協調解決沖突。
引入SVN后,每次代碼上傳到SVN后都會自動更新生成一個版本號。當磁場檢測儀的嵌入式軟件各模塊聯調出現新問題時,通過比較類軟件(如beyond compare),比較兩個版本代碼之間的差別,很多時候能夠快速找出問題的關鍵所在。
4 下位機和上位機的協同開發
Bus Hound可以用來分析USB總線數據協議、捕獲I/O動作等。同時,也可以傳送用戶編寫的命令,實現對下位機的控制和調試。雖然上位機軟件還沒有完成,但定義好上位機和下位機的通信協議后,可以用Bus Hound模擬上位機軟件接收下位機軟件發送的USB數據,或發送USB數據給下位機軟件,從而實現上位機和下位機軟件的并行開發。
在磁場檢測儀中,使用南京沁恒電子有限公司生產的CH375作為USB主控芯片,實現ARM和上位機的USB通信。實際編程中,使用了CH375的3個端點,端點0用于控制傳輸,實現USB設備的枚舉;端點2 IN用于USB數據從下位機到PC的Bulk傳輸(一次最多64字節);端點2 OUT用于USB數據從PC到下位機的Bulk傳輸(一次最多64字節)。Bus Hound接收32字節磁場測量數據如圖3所示,利用Bus Hound控制CH373的USB端點2OUT,分32次控制接收下位機回傳1 KB的磁場點采集信號數據,最終通過PC的中頻磁場分析軟件實現中頻磁場的單點、平面和空間的磁場模擬分布顯示。
另外,端點1 IN用于USB數據從下位機到PC的中斷傳輸,端點2 OUT用于USB數據從PC到下位機的BULK傳輸(一次最多8字節)。在磁場檢測儀嵌入式軟件的調試中,利用端點1 IN發送調試指令和接收調試數據。
結語
Redmine、Proteus、μC/OS-II、SVN和Bus Hound的使用,提高了磁場檢測系統的開發效率和開發質量,為磁場檢測系統高效、高質量地完成開發任務提供了堅實的基礎。在實際使用該協同開發模式中,高校或中小企業可以根據自身的實際需要進行改動,如μC/OS-II換成μCl inux等其他嵌入式操作系統,SVN換成GIT等其他版本管理器,Proteus換成SkyEye等其他仿真平臺。最終,有效提高了高校研究生課程的教學效果以及高校和企業的項目開發效率和開發質量。
上一篇:基于16位微處理器和實時操作系統μC/OS-II的基站監控終端設
下一篇:MCU快速編程框架示例代碼
推薦閱讀
史海拾趣
近年來,隨著環保意識的提高,Don Connex Electronics積極響應綠色發展的號召,將環保理念融入產品設計和生產過程中。公司采用環保材料、節能減排的生產工藝,確保產品在使用過程中對環境的影響降到最低。同時,公司還積極參與環保公益活動,推動電子行業的綠色發展。
為了進一步擴大市場份額,DCCOM公司積極尋求與國內外知名企業的合作。通過與這些企業的合作,DCCOM不僅獲得了更多的客戶資源,還學習到了先進的管理經驗和技術知識。這種合作模式使得DCCOM在激烈的市場競爭中保持了強勁的增長勢頭。
Empro Technology Corp成立于2005年,由一群熱衷于電子技術的工程師創立。在初創階段,公司專注于研發高效能、低功耗的半導體芯片。經過數年的不懈努力,公司成功推出了一款具有顛覆性技術的芯片產品,其性能遠超當時市場上的同類產品,迅速獲得了市場的認可。
1996年,ebm-papst獨資的中國子公司(依必安派特)正式成立,標志著公司正式進入中國市場。當時,中國市場正處于經濟快速增長的階段,ebm-papst看準這一機遇,決定加大在中國的投入。除了在上海設立總部外,公司還在北京、西安、深圳等地建立了分公司或辦事機構,形成了覆蓋全國的銷售網絡。這一戰略布局使得ebm-papst能夠迅速適應中國市場的需求,并為其在中國市場的快速發展奠定了基礎。
隨著公司業務的不斷發展,Component Research Co意識到單一市場無法滿足其長期發展的需要。于是,公司開始尋求國際合作,與多家國際知名企業建立戰略合作關系。這些合作不僅為公司帶來了先進的技術和資金支持,還幫助公司打開了新的市場。通過國際合作,Component Research Co的業務范圍逐漸擴展到全球各地。
背景:為了滿足全球客戶的需求,GardTec開始實施全球化戰略,在亞洲和美國等地設立全球制造廠和庫存地。
發展:通過在全球范圍內的戰略布局,GardTec不僅提升了產品的供應效率,還更好地服務了世界各地的客戶。公司的全球化布局進一步鞏固了其在風扇配件市場的領先地位。
影響:全球化戰略的實施,使得GardTec的產品能夠迅速響應市場變化,滿足不同地區客戶的多樣化需求,從而增強了公司的市場競爭力。
薩博 Saab 如果你看過薩博汽車公司的廣告,那么你可能知道這個公司是“從噴氣機中誕生”的。1937年,為了滿足瑞典空軍的需要,Svenska Aeroplan Aktiebolaget(瑞典飛機有限公司,簡稱SAAB)成立了。 第二世界大戰結束后,薩博飛機公司 ...… 查看全部問答∨ |
|
c51和電腦通訊用rs232通訊 但是總是在通訊了幾十次之后會出現數據丟數的情況 單片機收的數據不全 我PC上的軟件是顯示已經發送數據過去了 問題出在哪呢?… 查看全部問答∨ |
【F.H.】LM2576電源翻轉電路(穩定版)(工作原理在protel圖里) 3A正壓轉負壓電路.ddb 主要是為把+5V電壓 轉換出一個-5V電壓用 采用 LM2576-ADJ 3A輸出可調電源芯片制作,開關頻率50KHZ 該電路的典型應用是降壓,因為是斬波式降壓,所以效率比較高能達到80% 輸入電壓5V~40V,輸出1.2V~37V 代替DCDC模塊 ...… 查看全部問答∨ |
1.支持多種硬件平臺 由于嵌入式設備硬件平臺的多樣性,CPU芯片的快速更新,嵌入式操作系統要求支持常用的嵌入式CPU,如X86, ARM, MIPS, POWERPC等,并具有良好的可移植性。另外還需要支持種類繁多的外部設備。Linux支持以上幾乎所有的主流芯片, ...… 查看全部問答∨ |