首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

[综合]ARM和dsp双核设计系统如何完成连接与通信

[综合]ARM和dsp双核设计系统如何完成连接与通信

觉得不错,拿来给大家看看

问:我现想设计的系统是用arm和dsp双核的,但他们间通信实时的传输数据,让dsp处理的数据在arm中能实时显示并能实时管理其他串口等外设。网上的用hip通信听说效果也不好。请指教怎样才能更好的通信呢?

答:ARM和DSP我都没有真正做过项目,但我想,你可以从以下几个方面来考虑:
1。数据量和数据的速率:首先必须搞清出到底有多少数据需要进行传输,其对时间的要求如何(体现在速率上);
2。根据系统的资源和特点,选择合适的接口,如SPI、UART、I2C、USB或者是普通的并口,实现的方式是采用ARM的中断来进行数据的收发,并建立数据的收发缓冲,缓冲的大小根据数据处理的速度和传输的速度来决定;
3。数据的完整性,在数据的通讯过程中,如何保证数据的正确性和完整性是主要的问题。一般可以采用数据包加校验数据的做法,数据包的大小可根据数据传输的基本单位(所谓基本单位是指一独立的数据结构,比如时间数据结构,日期数据结构等,其目的是希望此类结构能够在一个包中传输完毕,避免数据的不必要的分散)来决定,而校验的方式则可以更具实际的情况的选择,可以采用普通的CheckSUm的校验,也可一采用CRC校验等,若无须纠错,则建议尽可能简单为好(当然,出错的数据包需要重发)。
4。数据的处理安排在主程序中来进行,这样可以让CPU可以随时响应各种中断,避免了由于在中断处理程序中占用了太长的时间而耽误了其他中断的响应;

对于外设的管理,一般是采用中断的形式来进行的,中断只用来完成数据的收发,并创建消息以通知主循环程序对消息进行处理。此类情况在没有OS的系统中是一件非常容易的事情,但对于采用了OS的系统来说,则可能会复杂一些,因为对于大多数OS来讲,底层的资源一般是被封装的,而对于应用程序来讲,只能通过API来进行访问,使用起来可可能有些被束缚的感觉!,当然,也可以自己谢一些Driver来实现。

对于非标准系统,数据的通讯原则上是随意的,并不需要采用标准的通讯协议或方式,只要保证速率和数据的正确性,采用任何的方式都是可行的!

返回列表