基于FPGA的CAN总线控制器SJA1000软核的设计

分享到:

分析了CAN控制器SJA1000的特点及CAN协议通信格式。设计了控制器SJA1000的IP软核,能为应用提供一个性能优良的、易于移植的控制器SJA1000,实现了对步进电机的控制。

控制局域网(CAN)属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络。与一般的通信总线相比,CAN总线的数据通信可靠性、实时性和灵活性好,应用领域非常广泛,通常基于ARM或51单片机,实现与CAN控制器的通信联络。FPGA/SOPC技术是实现嵌入式系统的最高形式,基于IP软核的设计与应用也必将成为替代硬核的一种发展趋势。凭借QuartuslI和NiosII工具,基于FPGA的VHDL(或Verilog)语言设计的IP核能够提供灵活性和性能更好的控制器。

图1为一个基于FPGA的控制器的CAN总线节点。其中PCA82C251是CAN总线接收器,SJA1000是CAN总线通信控制器,PMM8713是驱动步进电机的脉冲分配器,FPGA模块在节点模型中对SJA1000进行控制,并将接收到的帧信息进行处理,发送给脉冲分配器,以驱动步进电机。

 

在设计中采用自顶向下的设计方法。通过分析SJA1000常用的控制芯片51单片机的功能,将其分为主要的4个模块:初始化模块、位查询模块、数据处理模块和缓冲区释放模块。
对SJA1000完成控制功能的过程用状态图描述如图2所示,这也是系统的主状态机。4个状态对应上述的4个功能模块,首先在initial_st-ate完成对sJA1000的初始化,在由init_end信号给出初始化完成标志后,进入查询状态,即query_RBS状态,由位查询模块完成此时对SJA100 0的状态查询。如果查询到SJA1000缓冲区有帧信息,将qRBS_end置“1”,进入下一个状态frame_cope,即帧处理状态,此时由数据处理模块完成对缓冲区的数据读取,并作处理。在读取完一帧数据后,需要释放缓冲区,为下一帧信息的接收做准备。此时状态转入了release_buff-er,对应功能模块中的缓冲区释放模块,此状态结束后又转入位查询状态,为下一帧信息接收做准备。

 


初始化模块主要在系统上电或重启后,先对SJA1000进行初始化;位查询模块是在初始化完成后,对SJA1000状态寄存器的接收缓冲区标志位不断进行查询,如果在缓冲区收到一帧信息后,则转入数据处理模块,否则继续进行查询;数据处理模块则是在查询到接收缓冲区有数据后,读入帧数据,并对帧数据进行处理;缓冲区释放模块是在一帧信息处理完毕后,释放缓冲区空间。

除了上述4个功能模块之外,还需要读写模块、双端口模块、模块接口控制逻辑等。

1 读写模块

    由SJA1000的数据手册可知,SJA1000提供的微处理器接口信号有地址数据复用总线AD0~AD7、地址锁存信号ALE、片选信号g.jpg、读写使能信号h.jpgi.jpg、以及复位信号j.jpg
    SJA1000的数据信号和地址信号是时分复用的,而FPGA中不存在地址的概念,对于FPGA来说,输出的只有数据。因此设计的关键就是把S-JA1000中的寄存器地址当成数据写入到SJA1000中,配合地址锁存信号ALE和写允许信号i.jpg完成对SJA1000特定寄存器的命令字写入。读写使能信号是h.jpgi.jpg以及复位信号j.jpg。设计的关键就是把SJA1000中的寄存器地址当成数据写入到SJA1000中,配合地址锁存信号ALE和写允许信号完成对SJA1000特定寄存器的命令字写入。与写操作相似,只需严格按照时序,将ALE、h.jpgi.jpgg.jpg引脚的电平互相配合置高或置低,即可完成读操作。读写周期时序图如图3和图4所示。

继续阅读
FPGA已经发展几十年,异构计算要求越发明显的今天该如何寻找新的创新点

作为制造业大国,中国近几年每年进口集成电路芯片超过2000亿美元,2018 年甚至突破 3000 亿美元,是中国最大宗的外汇进口商品。然而中国高端通用芯片的自给率不到 10%,为国内的集成电路企业提供了巨大的市场发展空间。中国政府已将发展民族集成电路产业作为国家战略,设立了 1380亿的第一期国家集成电 路产业发展基金,第二期大基金已经募集超 2000亿元。许多地方政府也各自设立了数百亿元的地方产业基金,同时国家制定政策扶持国产芯片替代进口芯片,有力地提高了中国集成电路企业上下游的产品竞争优势。

“ 帕克号” 的太阳探测器发射升空,全球最快的FPGA有多神奇

8年前,NASA和约翰霍普金斯大学联合立项,投入15亿美元打造一款绕日探测卫星。2018年,这款名为 “ 帕克号” 的太阳探测器发射升空。帕克号上的电子系统和仪器组由多个FPGA共同控制,帮助帕克号成为有史以来最接近太阳和速度最快的人造航天器。

异构计算,特别是加速器的发展和创新,将会为业界、最终用户和创业公司带来更无限的商机

“ 除了算法、数据外,异构计算将会为AI应用带来更强大的支持。异构计算,特别是加速器的发展和创新,将会为业界、最终用户和创业公司带来更无限的商机。” 去厨神主持的餐厅吃饭,上菜慢,一定要等。因为厨神只有一个。但是在竞争激烈的市场里,应用人工智能AI技术则不能等,否则可能被颠覆被市场淘汰。

2016年FPGA供货商营收排行榜

FPGA供货商的表现看来超越整体半导体市场...

机器人专用运动规划芯片问世

让机器人在物理世界中安全地移动是件棘手的事情。工业机器人是强大的产品,但是有可能出现完全粉碎人类的意外,但用机器人视觉和足够的大脑来避开障碍成本非常昂贵,并减慢运动。通常,机器人简单地在设置路径上操作,而人类需要避开机器人操作范围。

精彩活动