昨天晚上有位剛學DSP的朋友問我2407與2812是否差別很大的時候,我只能回答他差別不大。今天,剛好看到這篇文章,便共享之,原文作者爲:小申,很不錯的工程師。
2407和2812是dsp2000系列性能最讓人關注的兩款芯片,在使用過兩種芯片後,特將兩款芯片的異同來作一比較。
都是對於電機控制開發使用。由此,在外設上的配備上有較多的相似之處。
相同點:
1 時間管理器,來管理定時器和pwm,及電機光電碼盤的接口,
2 多路ad來接受傳感器的信號
3 通訊接口 spi can sci 使得可以方便的通訊
4 程序存儲器和內部ram都有一定的容量滿足不同的需求
5 3。3V電壓供電,突出了低功耗的節電功能
6 可以進行程序和數據空間的外擴
7 jtag接口相同
8 內核相同 ,方便程序移植
不同:
1 電壓 2407 3。3V內核和IO供電,flash燒寫電壓5V
2812 1。8V或者1.9V內核和3。3VIO供電,flash燒寫電壓3.3V
上電次序,2407沒有關係 ,2812 io先上電,核後上電
2 clk 2407最大40M
2812 最大150M(內核電壓1.9V)或者 135M(內核電壓 1.8V)
3 下載程序方式 2407 編程器下載
2812 編程器下載 串口 spi
4 cpu 2407爲16位處理器
2812爲32處理器
5 程序和數據空間 2407 flash32k ram2。5K可擴展196K
2812 flash 16×128K ram 16×18K可擴展4M空間
6 時間管理器 2407 定時器16位 一個光電碼盤接口
2812 定期器32位 有兩個光電碼盤接口
7 ad 2407 10位 2812 12位
8 sci 2407 1個 沒有緩衝單元 2812 兩個 具有緩衝單元
8 can 2407標準can符合2。0B協議 2812增強can和標準can 符合2。0B
9 mcbsp 2407 沒有 2812 有
10 語言 2407 彙編 c 2812 彙編 c c++
11 TI支持 2407沒有提供較多的例程支持 2812 提供完整的模塊例程支持
12 編程風格 2407傾向於模塊編程 2812 類編程,並且結構性更強
13 寄存器的保護。2407沒有對系統寄存器的保護,2812提供了保護機制
14 在開發環境的幫助文件上看,2407比2812要好點,
2812的寄存器的設置和定 義幫助文件基本沒有說明
對dsp及其開發環境及支持的一點建議:
1 dsp沒有象arm一樣把用於外擴的數據地址線和IO功能複用,這對io管腳使用較多的人來講不方便,還要進行擴展,如果不需要外擴的話,這些線就浪費了
2 對於現在3。3V和5V共存的時期,如果管腳能和5V兼容,那是最好不過了
3 不明白爲什麼把管腳的電源和地總是放在相鄰的位置上,焊不好很容易短路
4 用程序下載器,下載程序速度很慢,耽誤時間
5 開發環境如果能實現軟件仿真那就好了,不用非要硬件板了,調試起來那就方便多了
6 作爲芯片開發商,最瞭解自己的芯片的功能,如果能夠免費爲大家提供各種芯片,尤其是處理器的外設例程,無論對於大家對芯片的上手速度和開發進度來講都是好事,而且對於芯片的推銷也是很好的事情。
大家有什麼好的想法,儘可補充,共同進步!
實際上對開發帶來最大影響的不同點是2812程序,數據,I/O空間統一編址,在同一個地址空間,並且帶bootloader,2407程序,數據,I/O空間分開編址,不在同一個地址空間,不帶bootloader,這導致了2812程序必須用一段彙編代碼才能跳轉到用戶的c程序。而2407不需要這樣做。