• 9849-xxx-xxx
  • noreply@example.com
  • Tyagal, Patan, Lalitpur

我是一個糟糕的軟件編碼器,當它歸結為它。當一切都是面向對象的時候,我沒有註意,我的根源總是裝配語言和實時操作系統(RTOS)。

因此,只有自然的是,我將為一個真正的電路模擬器(ICE)達到我的小型Obdii總線到速度脈衝發生器小部件。 ICE是一種用於調試嵌入式系統的硬件設備。它與電路板上的微控制器通信,允許您通過暫停執行和檢查硬件寄存器中的值來查看正在發生的情況。如果您希望在嵌入式開發方面非常偉大,您需要很好地使用在線仿真。

我不僅可以在近實時享受我的錯誤,我可以為它進行視頻。

將數據從車輛中獲取

我一直在一個小型電路板,將插入我的汽車並直接訪問控制器區域網絡(CAN總線)上報告的速度。

要備份一點,我的最後一篇視頻帖子是關於我的剛剛的渴望製作一個小裝配可以插入卡車上的Obdii港口,並創建一系列代表汽車的速度的脈衝,為我的GPS運行很多更精確地。雖然在連接到車輛的發動機控制模塊的多個電線中埋入的電線深,但是由於許多原因,我已經決定了創建我自己的信號源。

在我的項目的核心,需要將OBDII端口和底層CAN協議轉換為表示速度的基本變量,然後覆蓋到頻率基於速度變化的脈衝流的值。 OBDII / CAN協議由STN1110芯片處理並轉換為ASCII,並且我正在使用類似於在ASCII的眾多Arduino的板上找到的Atmega328來脈沖轉換。我正在使用硬件中斷來控制搖滾固體,無抖動定時的信號輸出。

步行通過下面的視頻中使用電路仿真器的過程,並在休息時間後加入我的過程中的一些細節。

硬件

我考慮到最後一個視頻並刪除了除CAN之外的各種協議的支持,這是群體的非過時協議。通過刪除一堆零件,我能夠將包裝樣式改為通孔,這對於大量家庭愛好者來說更容易,因此您可以將焊膏留在“冰箱”中。

rev 2

rev 1

你的Arduino上的“其他連接器”

與準備好與USB端口交談的Arduino不同,當您將其開箱即用完時,Atmega芯片無需了解如何去和下載代碼,換句話說它沒有引導加載程序。因此,我擁有電路串行編程(ICSP)引腳,路由到我的電路板上的引腳標頭,以便我可以直接編程該部件。

在此連接器上,您將找到重置線,該標頭表示我可以使用Debugwire協議的真實冰。考慮到使用AVR芯片的大多數設計,不會將重置引腳重新保留GPIO,它是用於冰的最佳銷。調試過程中的所有通信都將在RESET引腳上進行。

進入冰

在從頭開始創建計算機時,總是有沒有作用的階段。簡單地,微處理器電路不能直到設計工作的幾乎每個部分; RAM,ROM和底層公交車都需要(大多數)在基本事情完成之前的工作。作為交易的硬件工程師,我將永遠達到冰來啟動實施;只有在Beta釋放後,冰會開始在角落裡收集灰塵。

在Atmega的情況下,調試功能將內置於微控制器本身。這比我們必須使用自己的本地RAM / ROM運行的第二個隔離處理器的早期更早的時間更直接實現。

視頻中指出的一個註釋是,標準的Arduino’ish Coard需要使從復位線中取出的濾波電容器,以允許其Debugwire使用線上的高速數據。

我在這裡使用的冰是由Atmel製作的冰,並且與Atmel Studio兼容,還有其他型號,如AVR Dragon。

冰冰

冰允許我們下載和單一步驟,同時能夠從鍵盤中觀察和覆蓋RAM和I / O寄存器。我們能夠在編譯器生成的實際裝配代碼中逐步享受步驟或查看下面的程序。我們可以直接在RAM中享受變量和位置或享受C語言同行。在僅僅希望在沒有所有處理的情況下看到結果,也可以跳過子例程呼叫。

值得一時間甚至看到冰中的能力ction。 我建議您享受調試開始的視頻。

最後的話

這個視頻真的是關於完成Obdii電路,所以我真的沒有時間討論冰可以做的一切,也許我會在下次致力於冰和開發環境的帖子。

Leave a Reply

Your email address will not be published. Required fields are marked *