一種基于SOPC技術的便攜式定位系統設計
3.3.1 終端初始化程序設計
終端初始化主要是在系統上電時完成硬件配置文件的下載,系統初始化和設備初始化等。使用main( ) 函數,HAL系統庫能自動初始化系統。但自動初始化屏蔽了底層操作,一些沒有用到的設備驅動程序也進行了初始化,增加了程序代碼長度和降低了系統效率,ANSI C標準提供了一個供用戶自由初始化系統的函數alt_main( ),用戶可以在該函數中自由初始化系統而代替main( )的自動初始化,本系統的alt_main( )函數如下:
3.3.2 定位數據的采集程序設計
定位數據的采集主要采集GPS和數字指南針的定位數據,采用串口接收中斷的方式。NIOS II中,串口包括6個16位的寄存器,在軟件中對應的數據結構為:
串口被當成字符設備,對其訪問可以通過標準輸入(stdin)和標準輸出(stdio)來完成,也可以通過打開和寫文件的方式,本系統采用直接訪問寄存器方式,采用系統自動生成的訪問宏,這樣可以采用精簡Newlib C,減少程序代碼長度,并采用串口中斷方式接收數據,NIOS II中使用中斷首先要向系統注冊,并且要打開硬件中斷。中斷采集GPS信號主要程序如下:
評論