基于μC/OS-II的VG2以太网和USB接口设计

发布者:平静的33号最新更新时间:2007-02-09 来源: 国外电子元器件关键字:处理器  音频  定时 手机看文章 扫描二维码
随时随地手机看文章

1 引言

近几年来,随着计算机网络技术的快速发展,TCP/IP协议已成为应用最广泛的网络互联协议。USB(通用串行总线)以灵活、方便、通信稳定、成本低廉、即插即用等优点已经成为数据存储与交换的通用接口。

ADChips公司的32位多媒体微处理器VirgineG2(简称VG2)具有强大的数据、图像和音频处理功能,而且能够直接输出NTSC/PAL制式模拟信号。VG2只提供了一路32位的I/O接口和两路串行通讯接口,因此需要对VG2扩展TCP/IP接口和USB接口,以实现远/近程数据的交互和大容量数据存储。

本文采用Realtek公司的RTL8019AS芯片对VG2进行以太网接口扩展,通过TCP/IP协议规范及LwIP实现VG2的TCP/IP协议栈。同时采用Philips公司的ISP1161芯片实现VG2的USB主/从控制接口扩展。

2 VG2的以太网和USB硬件接口设计

2.1芯片简介

VG2内嵌16/32位(EISCSE3208)多媒体微控制器,内含2路4 KB的Cache、2D图像加速器,32通道的8/16位音频处理器以及DAC、DRAM,控制器、DMA、定时器、双串口等多种外设。还具有8个外部片选信号(PCS0#一PCS7#)和27个中断源,其中包括8个外部中断(IRQ0~IRQ7)。基于3D的2D图形加速器支持NTSC/PAL制式电视显示。

RTL8019AS是Realtek公司生产的以太网接口控制器,符合NE2000标准,遵循IEEE802.3协议。支持8位、16位的数据总线,有即插即用、跳线和免跳线三种工作方式。RTL8019AS内置16 KB RAM,用作收发缓冲以降低对主处理器的请求频率。内部还有远程DMA通道和本地DMA通道。

ISP1161是Philips公司生产的通用串行总线(USB)主机控制器(HC)和设备控制器(DC),遵循USB 1.1,支持全速(12 Mbit/s)及低速(1.5 Mbit/s,)两种数据传输模式。两个USB控制器在使用中共用一个微处理器总线接口,但I/O地址不同,并有各自的中断请求输出引脚和独立的DMA通道。ISP1161提供两个下行端口和一个上行端口.每一个下行端口都有一个过流(OC)检测输入引脚及电源开关控制输出端,上行端口也有自身的VBUS检测输入端。另外还提供了单独的唤醒输入端和挂起输出端。HC的下行端口能与USB兼容设备及具有USB上行端口的USB集线器连接。

2.2 VG2的TCP/IP和USB接口设计

2.2.1硬件设计

对VG2扩展USB接口和以太网接口的硬件原理框图如图1所示。

以太网接口设计中。VG2的PCS6和IRQ6分别作为RTL8019AS的片选信号和中断信号。RTL8019AS其他引脚连接方式为:JP接高电平,设置RTL8019AS工作在跳线方式下;IOS3~IOS0接低电平,设置其I/O基地址Ox300,这样RTL8019AS只对地址为0x300~0x31F的信号产生响应;IRQS2~IRQS0接低电平,INT0被选中作为中断请求的输出;PL1、PL0接低电平,设置具有自动检测接口类型的功能。

当PCS6有效时,VG2为RTL8019AS映射从0x0160 0000开始的1 MB内存,SA8和SA9位为高电平,对应于RTL8019AS的地址线信号为0000 0000 0011 000X XXXX,I/O基址设置为0x300。这样通过地址的低5位就可以读取RTL8019AS内部的32个寄存器。对VG2控制映射RTL8019AS内部寄存器地址为0x0160 0000+相应的偏移地址(0x00~Ox1F)。

2.2.2 USB接口设计

VG2采用PCS7和IRQ7分别作为ISP1161的片选信号和中断信号,ISP1161采用I/O通信的方式,其I/O地址如表1所列。

ISP1161寄存器是一个指令-数据双重结构寄存器。一个完整的寄存器访问周期首先为指令阶段,然后为数据阶段。指令(也可以理解为寄存器的指针)指向ISP1161的下一个将被访问的寄存器。一个指令为8位长,在一个微处理器的16位数据总线上,指令占用低字节,高字节被填充为0。微处理器先向指令端口写入一个指令代码.然后从数据端口读/写数据字。

当PCS7有效时,VG2为ISP1161映射从0x1700 0000开始的1 MB内存。ISP1161主机控制器的数据和命令地址分别是Ox0170 0000和Ox0170 0002,设备控制器的数据和命令地址分别是0x0170 0004和0x0170 0006。

3软件设计

系统的软件部分通过在VG2中嵌入实时多任务操作系统μC/OS一Ⅱ来实现。在μC/OS一Ⅱ平台上分别对各个接口进行多任务的控制。

3.1 μC/OS-Ⅱ移植

μC/OS一Ⅱ是一个完整、可移植、固化、裁剪的占先式实时多任务内核。如果只保留其最核心的代码,则可压缩到3 KB。将μC/OS-Ⅱ移植到VG2微处理器上需改写与硬件相关的汇编语言。具体改写内容如下所示:

(1)改写OS_CPU.H中部分函数

#define OS_TASK_SW() asm("swi 7"),通过软件中断指令来实现操作系统的任务切换函数:#defi-neOS_ENTER_CRITICAL()asm("clrl3"),#define OS_EXIT_CRITICAL asm("set 13"),通过对SR状态寄存器的中断控制位设置实现使能或禁止操作系统响应中断请求;#define OS_STK_GROWTH 1,定义VG2的堆栈由高到低。

(2)改写OS_CPU_C.C中部分函数

OSTaskStkInit()为任务栈结构的初始化函数。VG2响应中断请求信号后,将当前寄存器值按先入后出的顺序压入堆栈。

OSTaskStkInit()按照压入堆栈顺序对各任务栈初始化。

OSStartHighRdy()函数跳转到所有处于就绪状态任务中优先级最高的任务开始运行。操作系统首先得到最高优先级任务栈的指针,然后从任务栈中弹出所有寄存器值,实现跳转。

OSCtxSw()是任务级的任务切换函数。swi 7(软件中断)的中断向量指向该函数。当需要任务切换时,首先该函数将当前任务寄存器值压入堆栈。然后将当前任务任务栈指针保存到任务控制块中。最后判断出最高优先级任务,并弹出其任务栈内容,开始运行。

OSTickISR()为操作系统提供一个周期性的时钟源。VG2的定时器0被设定成第20 ms发出一个时钟中断信号,中断向量指向该函数。首先该函数保存当前任务状态,并将全局变量OSTime递增1。然后判断出最高优先级任务.并弹出其任务栈内容,开始运行。

OSIntCtxSw()为系统执行中断后任务调度函数。系统在中断响应后执行该函数判断出最高优先级任务,然后弹出其任务栈内容,开始运行。 3.2以太网接口的TCP/IP协议移植

由于嵌入式实时操作系统μC/OS-Ⅱ是一个操作系统内核,本身没有集成TCP/IP协议栈,所以需要移植合适的TCP/IP协议栈。LwIP协议栈是适用于8位、16位、32位微处理器嵌入式系统的一个小型TCP/IP协议栈,实现了ARP、TCP、UDP、IP这些最基本的协议。LwIP可以看作是为系统提供的函数,通过它来进行数据包的发送与接收。LwIP允许有多个网络接口,每个网络接口都对应一个structnetif,而且都包含相应网络接口的属性和收发函数。其中netif->input()指向IP层的接收函数ip_input(),netif->output()指向ne2k_send_packet()驱动程序中的发送函数。驱动程序可实现网络接口的接收、发送、初始化以及中断处理。本设计中采用中断方式来接收数据,使用VG2的外部中断INT6,在VG2的中断向量表中可以按照如下定义:

3.3 USB接口的PTD协议移植

VG2与ISP1161之间以PTD(Philips Transfer Descriptor)数据格式进行通信。PTD数据提供了USB通信的相关信息,如指令、状态和USB数据包等。VG2中PTD数据的物理存储介质是微处理器的系统RAM。对于ISP1161,存储介质为内部FIFO缓冲区RAM。ISP1161可使用PTD数据结构定义一块数据缓冲区,使其与USB终端设备进行通信。VG2设立这个数据缓冲区采存放当前帧(1 ms帧)。每帧传送的承载数据必须包含一个PTD作为传输头,以描述传输特性。PTD数据一般为DWORD(双字或4字节)格式,结构如表2所示。
PTD数据头为8个字节的数据结构,包含了ISP1161的传输类型、装载数据的发送位置、装载数据的实际大小、传输速度、传输对象等。当传输执行完毕后。其内部会作相应的改变,在PTD数据头中表征了本次传输结果.包括传输发生的错误信息等。

3.4部分程序流程

以太网收发任务程序流程如图2所示。USB通信任务程序流程如图3所示。

本设计采用的操作系统是实时操作系统,可以同时支持以太网通信和USB设备数据存储,系统能获得很高的效率和稳定性。

4 结束语

本文采用RTL8019AS通过TCP/IP协议规范及LwIP,实现了VG2的TCP/IP协议栈,通信波特率可达到10Mb/s。同时采用Philips公司的ISP1161,实现VG2的USB主/从控制接口扩展,符合USB1.1规范,通信速率可达到1.5Mb/s。该设计用于所研制的数字化家居智能控制器,通过以太网、USB和其他接口,将家用电器、家庭安防、门禁、四表自动抄表、有线电视网、电话和宽带网系统等独立单元的家居设施跨平台有机结合,实现远/近程操作控制和数据存储与交换。

关键字:处理器  音频  定时 引用地址:基于μC/OS-II的VG2以太网和USB接口设计

上一篇:基于DSP的嵌入式以太网接口转换器
下一篇:基于P89C61x2和ISP1581的USB接口电路的设计与实现

推荐阅读最新更新时间:2024-05-13 18:17

英飞凌与Oxford Ionics携手开发先进的离子阱量子处理器
【2022年7月14日,德国慕尼黑讯】 英飞凌科技股份公司和Oxford Ionics宣布双方将携手打造完全集成的高性能量子处理器(QPU) 。Oxford Ionics独特的电子量子比特控制(EQC)技术与英飞凌全球领先的工程、制造能力以及在量子科技方面的技术专长相结合,将为在未来五年内实现数百量子比特的量子处理器的工业化生产奠定基础。双方的合作旨在让量子计算技术从实验室走向应用场,转化为真正的工业级解决方案。 Infineon ion trap 许多行业正在寻求从根本上改进其流程和能力,量子计算将为它们开启算力新时代。而实现这一目标,需要开发可以规模化生产制造的量子比特技术,同时需要控制越来越多的量子比特,并将量子
[网络通信]
英飞凌与Oxford Ionics携手开发先进的离子阱量子<font color='red'>处理器</font>
STM32 基本定时
本文为野火学习笔记。 定时器分类    stm32f1系列。除互联型设备,共有8个定时器,分为基本,通用,高级3种定时器。不同的定时器有不同的功能。   基本定时器为 TIM6,TIM7 。其只能定时,没有外部IO,且16位计数器只能向上计数。   通用定时器为 TIM2/3/4/5 , 可以定时;也可输出比较和输入捕捉,每个定时器有4个IO,16位计数器可上下计数。   高级定时器为 TIM1/8 ,在通用的基础上多了互补输出信号的功能,每个定时器有8个IO口。 功能框图   下图为基本定时器的结构框图: 时钟源   定时器的时钟源名为 TIMxCLK,可以在时钟树中找到   可见 TIMxCLK 时钟是来自于APB
[单片机]
STM32 基本<font color='red'>定时</font>器
德州仪器ADAS处理器新增中低端产品TDA3x
日前,德州仪器宣布推出全新ADAS(高级驾驶辅助系统)处理器TDA3x,这是TI专门为中低级车开发的ADAS功能芯片。相比较TDA2x,其缩减了包括双核A15及SGX544 GPU,而只保留C66x DSP及EVE视觉加速器核心。 德州仪器处理器业务部业务开发总监蒋宏表示,TDA3x是TI专门面向中低端车用ADAS市场的,可以让更多初中级轿车拥有ADAS功能。 具体按照应用来分,TDA2x主要是前置摄像头信息处理,包括车道报警、防撞检测、自适应巡航以及自动泊车系统等,同时TDA2x也可作为ADAS的主脑,负责处理所有传感器收集到的信号,并加以判断处理计算等。 而TDA3x主要应用在后置摄像头(倒车影像)、雷达
[汽车电子]
德州仪器ADAS<font color='red'>处理器</font>新增中低端产品TDA3x
用单片机实现基于I2C串行总线的音频处理系统
  目前,消费类电子产品(如彩电、音响等)的功能多样化使得控制电路变得更为复杂。而Philips公司推出的集成电路芯片间总线I2CBUS(Inter ICBUS)是目前众多总线中最简洁有效、使用也为广泛的一种总线格式。I2C总线通常是以硬件来实现的,这就要求所选器件必须具有I2C总线接口,但目前广泛使用的MCS-51系列 单片机 并不具备I2C总线的专用硬件部分。本文结合笔者采用单片机8031实现对具有I2C总线接口的立体声 音频处理 芯片 TDA7313 的控制,介绍了I2C总线以及基于 I2C串行总线 的单片机应用系统的设计方法和程序。    1 I2C总线简介   1.1 I2C总线的组成   I2C串行总线是用双
[单片机]
STM8S定时器1实现PWM功能
TIM1由一个16位自动装载计数器组成,由一个可编程的预分频器驱动。可用来输出PWM波形。 TIM1的PWM模式可以产生一个由TIM1_ARR寄存器确定频率,由TIM1_CCRi确定占空比的信号。 TIM1由4个独立的捕获/比较通道,其中TIM1_CH1,TIM1_CH2,TIM1_CH3由都对应的互补输出引脚TIM1_CH1N,TIM1_CH2N,TIM1_CH3N.TIM_CH4没有互补输出引脚。 TIM1_CH1,TIM1_CH2,TIM1_CH3,TIM1_CH1N,TIM1_CH2N,TIM1_CH3N常用于直流无刷电机的六步PWM控制。 以下是设置TIM1_CH1,TIM1_CH2,TIM1_CH3引脚
[单片机]
STM8S<font color='red'>定时</font>器1实现PWM功能
MCS-51单片机定时器/计数器、串行口、多机通讯
MCS-51单片机含有2个定时器/计数器,具有4种工作方式。具有两种工作模式(计数器模式和定时器模式) MCS-51单片机含有1个全双工串行口,具有4种工作方式。 TMOD - 定时器/计数器方式控制寄存器 TCON - 定时器/计数器控制寄存器 SMOD - 串行口波特率系数选择位 SCON - 串行口控制寄存器 SBUF - 串行口数据缓冲器 TH0 - 定时器/计数器0(高字节) TL0 - 定时器/计数器0(低字节) TH1 - 定时器/计数器1(高字节) TL1 - 定时器/计数器1(低字节) 一、定时器/计数器 定时器/计数器T0由特殊功能寄存器TH0、TL0构成 定时器/计数器T1由特殊功能寄存器TH1、TL1构成
[单片机]
MCS-51单片机<font color='red'>定时</font>器/计数器、串行口、多机通讯
宽带语音蓝牙音频平台【CSR】
CSR公司(伦敦证券交易所:CSR.L)日前宣布,为刚刚获批的HFP 1.6蓝牙规范提供广泛的平台支持;HFP 1.6蓝牙规范涵盖宽带语音——通常称为高清语音或HD语音。CSR的BC6145是支持这一新型免提规范的首款大众市场单声道耳机方案,可帮助OEM厂商即刻投产高品质HD语音产品。 CSR公司为多种手机产品、耳机和车载应用设计了HD语音支持功能,并计划在各种平台上支持这一新规范。 多家移动网络运营商目前纷纷推出高清语音服务,为用户提供更清晰的音质。在网络层面,高清语音能够提供比以往更宽的语音频谱。随着语音频谱从300Hz–3.4kHz提高到50Hz–7kHz,即使是在嘈杂环境,消费者也将更容易理解语音内容
[手机便携]
宽带语音蓝牙<font color='red'>音频</font>平台【CSR】
泰凌微电子音频产品 SDK EQ方案介绍
1 什么是EQ EQ(Equalizer)中文名称均衡器,一种可以调节各种频率成分下电信号增益的设备或软件。常被用来进行音效调节,可以对音色、音调、音强等方面产生影响。在语音合成领域中,可以消除语音的底噪,提升语音的亮度,使得合成语音更加清亮。 2 EQ的实体 EQ以多种形式充斥在我们的日常生活中,设备如DJ使用的打碟机(如图1所示),通过调节不同频段的声音,达到活跃气氛的效果,如低频段主要是底鼓、贝斯的声音,相较其他频段更具有能量,易使人兴奋;软件如网易云音乐等音乐APP,均带有均衡器功能,可通过拖动各按钮调节各频点上的增益,实现自定义音效的功能(如图2所示)。 图1 EQ实体设备实例 图2 用户EQ设置界
[嵌入式]
泰凌微电子<font color='red'>音频</font>产品 SDK EQ方案介绍
小广播
最新应用文章
换一换 更多 相关热搜器件

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved