新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 网络处理器IP2022及其在嵌入式牌照识别系统中的应用

网络处理器IP2022及其在嵌入式牌照识别系统中的应用

作者:西安电子科技大学图像处理研究所 上海高德威智能交通时间:2008-05-23来源:电子技术应用收藏

  3.2软件功能

本文引用地址:http://www.eepw.com.cn/article/82973.htm

  以太网软件执行以下操作

  (1)极性检测与反转;

  (2)载波侦听;

  (3)超时检测;

  (4)连接完整性测试与连接脉冲产生;

  (5)一旦冲突,随机后退;

  (6)检测到冲突时,发送一个32 bit的jam序列;

  (7)以太网包的形成,通过把报头、目的地址、源地址、长度/类型、MAC客户数据放人到发送缓冲区,软件必须计算帧校验;

  (8)MAC层函数。

  发送连接通过把Ser/Des的发送管脚改为通用I/0脚,产生一个连接脉冲。它使用实时时钟定时器产生一16ms的时基。发送后,连接脉冲定时器复位为0。

  接收连接刷新一个定时器,上界检查是在24ms,不执行下界检查。连接脉冲宽度由硬件检测。

  在发送帧,包含了驻留在IP2022 PRAM中硬编码的数据。帧包括目的/源地址、帧长、数据和32 bit的CRC。如果通道不忙,则开始传送帧。若检测到冲突,发送ISR执行以下操作:

  (1)停止传送;

  (2)发送32bit的jam序列;

  (3)等待载波空闲;

  (4)产生随机延迟;

  (5)返回,重传条件集。

  在接收帧,每个接收ISR检查接收到的包尾EOP(End Of Packet)。一帧接收到时,接收函数执行以下操作:

  (1)帧校验序列;

  (2)地址检查,单址通信和多址通信;

  (3)检查保留地址;

  (4)帧长度(太长或太短)检查。

  冲突检测是通过监听载波侦听指示位来进行的。最大的延迟为16bit的时间。

  在MAC层应用程序接口,MAC客户(上层)通过初始化数据指针和缓冲区长度发送一个包。然后调用“Transmit_Packet”函数,返回值是发送的结果。主程序通过轮询调用一个“Receive_ Packet”函数接收一个包。非零返回值指示接收到一个有效的包。

  在网络缓冲区(Netbuffer),较高层定义一个叫netbuffer的数据结构。这是访问TCP/UDP数据报不同元素的最好方法。与原始IP包一起,有一些分配给数据包元素(例如:源IP地址、目的IP地址、选项等)的指针。这些指针是静态的。与指针相关的还有长度域,这样很容易改变netbuffer的选项数目。为了构成一个MAC帧,发送程序必须根据指针和长度域从netbuffer中把数据级联起来。

  4 应用程序的编写

  操作系统可工作在单任务模式或多任务模式下。在大多数情况下单任务模式的程序足以满足实时应用需求。利用Ubicom的Unity IDE开发环境生成的一个工程,最基本的有3个文件:entry.s、isr.s和main.c。

  4.1引导程序代码

  所有引导程序代码都放在entry.s文件中。这段代码在复位向量处加载了一个占位程序。当IP2022上电时,IP2022跳到复位向量处执行引导程序代码。该代码完成以下功能:

  (1)更新FCFG寄存器,这样代码执行速度对时钟频率而言是优化的;

  (2)设置堆栈指针指向数据存储器的末端;

  (3)通用寄存器初始化为0;

  (4)把.data段从FLASH中加载到数据存储器的开始处;

  (5)将.data段之后的数据存储器区域设置为0来容纳.bss段;

  (6)把.pram段从FLASH加载到程序SRAM的开始处;

  (7)将程序SRAM区域设置为0来容纳.pram_data段;

  (8)引导程序完成,跳到main()主函数。

  注意:用户的任何初始化代码应该加入到main()函数中,不应该加到entry.s文件中。

  4.2中断服务函数

  isr.s是中断服务函数(1SR)文件。当一个异步事件发生时,就会执行对应的ISR。在大多数使用虚拟外设的应用中,都要用到定时器timer0中断来控制周期性的进程。有两种ISR模板用于帮助基于timer0虚拟外设的开发。第一种是“Simple ISR template using timer0”,另一种是“Complex ISR Template”。

  如果仅有一个虚拟外设或所有的虚拟外设需要以同样的频率执行,那么使用第一个模板是很合适的。对于较为复杂的应用,可以使用“Complex ISR template”模板。详细的例子可参考其SDK帮助文件。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

tcp/ip相关文章:tcp/ip是什么




评论


相关推荐

技术专区

关闭