CAN总线和SPI总线都是现场总线,被广泛的应用于通信领域。随着通信技术的不断发展,其作用也越来越重要。本次研究课题来源于一款具有丰富外设资源的工控类DSP芯片,其中eCAN模块和SPI模块都是作为独立的外设存在。在两个模块之间进行数据交换时,需要涉及到RAM、中断、CPU等单元。这种通过CPU控制、处理两个模块之间的数据交换的方式,会降低CPU的工作速率。针对这两个模块之间数据传输的复杂性,本论文提出在两个模块之间设计一个总线数据转换模块,用来对两模块之间的数据进行快速传输。该方案不仅提高了 CPU工作的效率,也提高了数据传输的准确性。整个设计采用多级模块化、自顶向下、多层次的设计理念。其中,转换模块是整个设计的核心部分,包括标识符逻辑控制、解码/编码模块、异步FIFO模块和串/并转换模块。对于接收来自eCAN总线的消息,需要对标识符进行匹配过滤操作,通过对控制场中的DLC解码,来对数据场中的数据进行接收并存储;当向eCAN总线发送数据时,通过编码和标识符控制逻辑对数据进行格式转换,使其成为能够被eCAN控制器中接收缓冲区所接收的数据格式。上述设计方案能提高数据传输的灵活性,降低硬件复杂度。本论文采用Verilog HDL硬件描述语言对各个功能模块进行RTL级设计,利用NC-verilog仿真工具对设计模块进行仿真验证。仿真的结果表明:数据可以通过该转换模块在两个总线上进行传输,证明了设计的可行性和正确性。
|
楼主,咋没后文了呢?