• 嵌入式蓝牙PSTN语音接入点的设计与实现

        摘要:首先,阐述蓝牙在公共交换电话网络PSTN中的一种应用——三合一电话。然后,分别从硬件、驱动程序、应用软件三个方面进行详细介绍。最后,给出测试结果,并提出改进方案。     关键词:蓝牙 公共交换电话网络PSTN 接入点 μClinux 设备驱动程序 引言 源码开放的μClinux由于其强大的网络功能和较低的成本,得到了广泛的应用。嵌入式蓝牙公共交换电话网络PSTN(Public Switched Telephone Network)语音接入点,就是我们和广东省电信科学研究院合作,在μClinux系统上开发的一种具有广阔前景的应用。其应用场景如图1所示。 蓝牙GSM双模手机在进入蓝牙PSTN语音接入点的信号覆盖范围后,即自动通过接入点在PSTN网络上登记,这样用户的话务就被转移到PSTN网络,使用时只需缴纳固定电话费;网关具有小型交换机的功能,可以为多个蓝牙手机提供类似的服务;而且同一个接入点信号覆盖范围之内的蓝牙手机间,还可以不经过PSTN直接进行相互间通话,就像对讲机一样,不用付费。本文主要介绍接入点软硬件以及设备驱动程序的设计与实现。 1 硬件的设计与实现 嵌入式蓝牙PSTN语音接入点的硬件系统框图如图2所示。整个接入点主要由网关控制模块、电话线路接口模块和蓝牙收发模块组成。    1.1 网关控制模块 网关控制模块是整个网关软件的运行平台。ΜClinux操作系统运行于此硬件平台之上,而所有应用软件又运行于操作系统之上。复杂的控制流程以及大量的外扩模块要求MPU具有较强的处理能力。经多方权衡,本设计最终选用了Motorola公司的ColdFire嵌入式处理器MCF5272。 MCF5272内部的SRAM和ROM对于运行μClinux操作系统是远远不够的。本设计对MCF5272的RAM和ROM进行了扩充,外扩了16MB的SDRAM和4MB的Flash ROM。这样的存储器配置不仅满足了语音接入点软件的需要,还为网关增加各种功能留有较多的余地。 1.2 电话线路接口模块 电话线路接口模块是网关和PSTN的接口,由线路切换继电器、电话线接口芯片、DTMF接收电路、DTMF发送电路和FSK解调及振铃接收电路组成。它通过MCF5272的12根GPIO线和4个外部中断线和网关控制模块相连。线路切换继电器用于实现电话线上的信号在振铃接收电路和语音电路之间的切换,即实现摘机挂机的功能。在待机状态下继电器触点切换在振铃接收电路一侧,等待接收振铃信号。当需要摘机时,MCF5272控制继电器切换到话音电路一侧。 电话线路接口芯片选用Philips公司的TEA1062A。TEA1062A把电话线上送来的模拟语音信号放大后发送到蓝牙收到模块的PCM编解码器;相反,也把PCM编解码器送来的语音信号放大后,放到电话线上传输。此外,它还提供了消侧音、自动增益控制等功能。    网关还需具备转发来电显示信息的功能。常见的来电显示标准分为DTMF和FSK两种。我国的来电显示国家标准是FSK制式的,大部分PSTN交换机也支持FSK标准的来电显示信息;但是也有少量PSTN交换机和一些用户内部交换机发送的是DTMF标准的来电显示信息。我们HOLTEK的HT9170D以及HT9032C芯片分别接收DTMF及FSK来电显示信息。 网关向PSTN交换机拨号和普通的电话一样,采用DTMF信号,同时也可以用DTMF信号向PSTN交换机发送一些信令信息。网关的DTMF发送选用FOLTEK的HT9200A芯片。 1.3 蓝牙收发模块 蓝牙收发模块包括蓝牙射频电路、基带处理电路和PCM编解码电路,通过MCF5272的UART1和网关控制模块相连。语音信号通过PCM编解码器MC145483和电话接口芯片TEA1062A连接。语音信号通过PCM编解码器MC145483和电话接口芯片TEA1062A连接。MCF5272把蓝牙模块接收到的数据通过协议栈解释为摘机、挂机、拨号、来电显示等命令,并通过数据线控制电话语音接收与拨叫电路的各种操作。PSTN市话网用户线与电话线路接口模块连接,电话线路接口模块把外部PSTN电话网的振铃信号和来电显示信息通过数据线传递给MCF5272。MCF5272再把这些信号通过蓝牙软件栈打成数据包并送给蓝牙模块,由蓝牙模块通过无线信道发送给终端。电话线上的模拟语音信息通过PCM编解码器编码后经蓝牙模块发送给终端,同时蓝牙模块接收终端发送过来的语音数据,经过PCM编解码器解码,形成模拟语音信号,通过电话接口芯发送到电话线上。本设计中的蓝牙基带和射频电路由CSR的BlueCore01b芯片加上功放、低噪放、收发切换开关、滤波器和一些外围电路组成。 2 驱动程序的设计与实现 2.1 μClinux设备驱动程序概述 在μClinux下,所有的硬件设备都被视为文件,从设备接收输入数据和将输出送到设备就像从普通文件接收输入和将输出送到文件一样,可以使用read()、write()等系统调用。应用程序通过系统调用和内核交互,而内核则通过设备驱动程序和具体硬件交互,如图3所示。一般来说,操作系统内核需要访问三类主要设备:字符型设备、块型设备以及网络设备。本接入点的驱动程序属于字符设备驱动程序。 每个驱动都有一个称为file_operations的数据结构,包含指向驱动程序内部大多数函数的指针。当系统引导时,驱动程序初始化函数将file_operations结构的指针送给内核,内核就可以通过该指针访问驱动程序内的函数。因而,这些函数就是进入驱动程序的基本入口点。当用户程序执行系统调用时,将导致驱动程序内相应的函数被调用。 2.2 需求分析 嵌入式蓝牙PSTN语音接入点的硬件设计中,电话线路接口模块、蓝牙收发模块是外扩的模块,需要在μClinux内核为基提供支持。 蓝牙收发模块通过MCF5272的串口2和网关控制模块相连,因而直接使用μClinux自带的串口驱动程序就可以完成对此模块的控制;而电话线路接口模块通过GPIO口以及外部中断线与网关控制模块相连,必须由我们自由提供驱动程序。 2.3 FSK来电显示芯片驱动的设计与实现 FSK来电显示驱动的主要任务就是完成FSK来电显示信息的接收,总工作流程如图4所示。其主要功能由设备驱动程序基本入口点中的open、release、read、ioctl、select函数,以及设备初始化函数、中断处理函数、下半部分处理函数、定时器超时处理函数完成。下面对其中一些关键的函数进行简要介绍。 (1)read函数 read、write称为对设备的I/O操作。当用户进程对设备执行I/O操作时,设备可能并不具备进行I/O操作的条件。这些情况下,用户进程可以选择继续等待,即通过interruptible_sleep_on()函数让用户进程进入睡眠状态;也可以选择不等待,立即返回。这就产生一两种类型的I/O操作,即阻塞型I/O和非阻塞型I/O。我们的驱动同时支持阻塞型和非阻塞型的读操作。图4    (2)ioctl函数 设备特殊文件之所以特殊就是因为它代表一个设备,可以通过它对设备的属性进行设置,这和对设备的I/O操作不同。我们通过ioct1函数来实现,ioct1的实质就是向设备发送命令来改变设备的属性。在实现此驱动的过程中发现,FSK来电显示芯片在没有真正的FSK数据的时候也会受到干扰,使数据线上有电平的跳动,从而产生不应该产生的中断对系统的性能造成影响,因而提供了2个ioct1命令给用户进程,来控制FSK中断的打开与关闭。 (3)select函数 为了使用户进程可以使用I/O多路转接技术,在驱动程序中实现了select函数。当用户进程执行select系统调用的时候,每一个加入select测试集合的设备的select函数都被调用,如果其中任何一个或多个设备可以进行要求的I/O操作,则select返回;否则,通过select_wait()函数让用户进程进入睡眠状态,直到有任何一个设备可以进行要求的I/O操作或超时为止。 (4)中断处理函数及下半部分处理函数 FSK来电显示芯片只有1根数据线连接到CPU的GPIO口上。这根数据线的每一字节数据都以0开始、以1结束,中间是8位的ASCII码,最低位最先发送,在没有数的时候数据线一直保护高电平。由于FSK来电显示数据具有这种特殊的格式,把这根数据线同时接到CPU的外部中断线上,并设置为下降沿触发,这样每来1字节数据就会产生一次中断。FSK数据帧由若干字节这样的数据组成。FSK数据速率是1.2kb/s,因而1个bit延续约0.83ms。这样收一个字节的数据就需要耗费约8.3ms的时间。显然在中断处理程序里面接收数据是不合适的,所以在中断处理程序中只调用mark_up函数标记数据的到来,而把接收及处理数据的任务留到下半部分程序中完成。 下半部分程序负责接收1字节的FSK来电显示数据,由于1字节数据中可能有多个下降延,所以在进入处理函数后首先要关闭FSK中断,然后每0.83ms读一次GPIO口,接收一位的数据,收完1字节数据后要打开FSK中断,以接收下一字节的数据。 根据本次FSK中断是否为此次通信的每一个中断,可以判断本次接收的是否为FSK数据帧的第一个字节,如果是,那么将启动一个内核定时器,其超时时间设为1s(因为一个FSK数据帧的传输时间不会超过1s)。在定时器超时后,内核将调用定时器超过时处理函数,提取出主叫用户的电话号码,并通过wake_up函数唤醒任何等待读此设备的用户进程。图5    2.4 DTMF语音拨号、来电显示驱动的设计与实现 由于DTMF芯片要提供双音多频拨号的功能,所以与FSK芯片驱动相比,DTMF芯片驱动中多了一个write函数。DTMF芯片的多音多频拨号部分有2根线和CPU相连:1根数据线、1根时钟线。Write函数实际上就是根据芯片的写时序把用户进程发来的数据传送到芯片上去。 相比于FSK来电显示信息的接收而言,DTMF来电显示信息的接收就比较容易了。DTMF来电显示芯片提供了1根中断信号线和4根并行数据线,每次中断来只需要读并行信号线,并进行简单的解码、缓存工作就可以了。此外为了方便,把摘、挂机,抬高、拉低静音等命令者包含此驱动的iotcl命令集中了;和FSK驱动一样,为了防止干扰对DTMF来电显示信息的影响,也在iotcl命令提供了打开、关闭DTMF来电显示中断的命令。 3 应用软件的设计与实现 接入点应用程序位于前面介绍的硬件平台以及设备驱动程序之上,三者之间的关系如图5所示。接入点应用程序是整个软件的核心,它与串口驱动程序、FSK来电显示驱动程序、DTMF来电显示驱动程序、DTMF拨号驱动程序、Flash驱动程序、振铃驱动程序交互,并通过后五个驱动程序控制具体硬件完成相关功能。 接入点可以对允许接入的蓝牙终端属性进行设备,只有被授权的蓝牙终端才能通过接入点访问PSTN。接入点的Flash可设置多个允许接入的蓝牙终端,并可通过与网关并联的电话进行增添、删除一个或全部删除终端设置的操作。 对于设置为双模的蓝牙手机,必须先向网络登记,网络返回成功信息的方可与网关建立物理和逻辑链路;而在双模手机主动与网关拆开物理链路时,也必须向网络登记。接入点可以发现已登记的双模手机是否离开本网关信号覆盖范围,并自动向网络登记,将双模手机的话务切换回移动网络中,而并模终端无需这样的操作。网关可同时与7个蓝牙终端建立ACL(Asynchronous Connection Less) 对于不同调制方式(FSK及DTMF)来电均能接收号码以及振铃,并根据来电号码分析被呼叫方,根据蓝牙无绳电话协议CTP(Cordless Telephony Profile)建立起TCS(Telephone Control Specification)链路、SCO(Synchronous Connection Oriented)链路。当来电显示为非特服号开头的号码时,表示来电来普通电话,所有与网关相连的分机终端都振铃。某一终端接听后,其它终端停止振铃,回到空闲状态。当来电显示为特服号开头的时候,表示来电为访问特定终端的话务,可以分析来电显示的格式得到接入顺序号,并使对应的蓝牙终端振铃。蓝牙双模或者单模终端能通过网关、PSTN网络拨打外部电话,网关支持终端多次拨号,并且外部电话能收到来电显示。图6    我们设计的应用程序流程如图6所示。在μClinux系统中,此应用程序被视为一个用户进程。在系统启动rc脚本文件的末尾添加该进程,则系统在完成初始化工作后会自动启动该进程。对用户进程而言,硬件设备被视为设备描述文件,它和普通的文件没有区别,可用文件描述符(一个非负整数)表示。在程序启动时,用Linux系统提供的open函数打开这些设备,同时设置这些设备的工作方式;启动蓝牙协议栈,并设置工作模式、服务发现数据库和其它参数,使网关始终处于被发现和被动建链的一方。 此后应用程序地侦听、等待各设备数据的到来,我们采用了I/O多咱转接的技术来实现对多个描述符的读、写和管理。该技术的基本思想是:先构造一张有关描述符的表,然后调用一个函数,它要到描述符中的一个已准备好表示I/O时才返回。在返回时,它告诉进程哪一个描述符已准备好可以进行I/O。select函数可以执行I/O多路转换,传向该函数的参数告诉内核我们所关心的描述符、对于每个描述符我们所关心的条件(是否读一个给定的描述符?是否想写一个给定的描述符?是否关心一个描述符的异常条件?)以及希望等待的时间(可以永远等待、等待固定时间或完全不等待)。我们在程序中设置了永远等待,即只有所指定的描述符中的一个已准备好或捕捉到一个信号才返回。从select返回时,内核告诉我们已准备好的描述符的数量和哪一个描述符已准备好读、写或异常条件,应用程序这个信息进入相应的处理子模块。 结语 基于嵌入式μClinux系统的蓝牙PSTN网关实现了上术的所有功能,使蓝牙三合一电话的应用成为现实。最多7个蓝牙终端能同时与该网关建立物理和逻辑链路,网关能建立起一条语音链路。经实测,在传输距离不超过10m的前提下,话音质量良好,清晰无失真;在传输距离超过10m后,由于蓝牙的自动功率控制功能,会增大发射功率,模拟语音电路部分引入的电磁干扰噪声增加,影响通话效果,此问题可以通过调整PCB布局布线和对易干扰电路增加屏蔽来消除。根据标准蓝牙协议,蓝牙终端和网关之间最多可建立起3条语音链路,这将在下一个版本中加以改进。

    嵌入式软件 Linux pstn 蓝牙

  • 增强并口EPP与DSP接口的设计

    摘要:提出用计算机的EPP协议与ADSP2181的IDMA口进行快速通信的设计方法。该接口的核心是可编程逻辑器件EPLD,只需要修改EPLD的逻辑就可以满足各种不同设计的要求,因此具有很强的通用性。     关键词:增强并行口(EPP) ADSP2181 EPLD 利用计算机进行数据采集与控制一直都是研究的热点。大部分数据采集与控制系统都是做成插卡的形式;然而,对于日益普及应用的笔记本电脑而言,由于没有提供扩展插槽,不能够直接做成插卡的形式,因此就需要充分利用笔记本提供的外围接口,例如并口、串口等来实现。由于串口速度的限制,对于速度比较高的数据采集与控制系统,往往采用计算机的并口。这几年在国内已经有很多大在做利用增强型并行口(EPP)与外界进行通信这方面的工作,但大部分都是与一些简单外围电路的通信与控制(例如FIFO、A/D转换器),很少有人涉及到与DSP的通信。我们所设计的并口与ADSP2181的接口,为和外围复杂电路进行通信提供了一种途径。 一、EPP并口 最常见的计算机并口模式是SPP模式(标准并行口)。该模式数据传输是单向的,如果要完成数据的输入就不得利用状态线。故读入一个数据就需要进行好几次的I/O读周期,因此传输速度就不可能做到很高,仅能做到150KB/s。其外围设计电路并不比EPP简单,因此SPP在数据采集与控制系统中很少应用。 1992年,intel、Xicom与Zenith公司共同制定了EPP1.7标准,并在随后的时间里对该增值修订与完善。对于EPP标准而言,现在主要有EPP1.7与EPP1.9两种标准;对于用户而言,它们在具体的应用中并没有什么不匹配的地方。 EPP协议与标准并行口兼容而且能够完成双向数据传输的协议。它提供了四种数据传送周期:数据读周期、数据写周期、地址读周期、地址写周期。数据周期一般用于主机与外设之间进行数据传送;地址周期一般用于传送地址、通道、命令和控制等信息。在实际操作中,两者并没有太大的区别。几乎可以把地址周期看到另外一种的数据周期。仅有的区别将在后面说明。 表1给出了EPP协议中各引脚的信号的定义与描述。表1 EPP中各引脚的定义与描述 EPP信号名 EPP信号方向 EPP信号描述 对应并口引脚 Nwrite 输出 低电平写,高电平读 1 Ndatastb 输出 低有效,进行数据读写 14 Naddstb 输出 低有效,进行地址读写 17 Ninit 输出 低有效,得置外设 16 Intr 输入 外设断,外设对机产生中断请求 10 Nwait 输入 低有效,外设响应信号 11 AD[0..7] 双向 双向数据/地址总线 2~9 用户定义 输入 用户可灵活定义 12 用户定义 输入 用户可灵活定义 13 用户定义 输入 用户可灵活定义 15 图1是EPP数据读周期的时序图。读操作是在一个I/O周期内完成的。这就是说用EPP传输数据,可以达到500KB~2MB/s的传输速率。由于Nwait是互锁形式的握手信号,故数据的传输以接口的最慢的设备来进行,可以是主机,也可以是外设。因此设计外围电路就比较灵活。 EPP模式是在BIOS里进行设置的。需要设置的主要是基地址以及中断号。基地址最好设置成378H或278H,而不要设置成3BCH,因为3BFH后面的端口可能为其它设备所占用。EPP共有8个I/O地址端口(假如基地址为378H);378H为SPP的数据口;379H为SPP的状态口;37AH为控制口;37BH为地址读写口;37HC为数据读写口;37DH~37FH可以由用户定义,主要用作16bit与32bit I/O数据读写辅助口。通过对端口基地址+4的I/O读写就可以产生EPP的数据读写周期,对基地址+3的I/O读写就可以产生EPP的地址读写周期。夺址读写周期与数据读写周期的主要区别就是数据读写可以做32bit与16bit的I/O读写,而地址读写周期只能够做8bit的I/O读写(主要因为它没有辅助的端口)。在C语言里面,可以用端口读写函数outportb()、inportb()、outport()、inport()来实现EPP的读写操作,相应的控制信号由计算机自动产生。 二、ADSP2181的IDMA接口 ADSP2181是AD公司制造的ADSP21XX定点DSP系列的一种。它的指令周期为30ns,足以满足信号的实时处理。它内部有16MB的程序存储区(PM)与16MB的数据存储区(DM)。外围接口可以通过IDMA与I/O的方式对存储区进行访问。其IDMA操作的最大优点IDMA的读写操作并不影响ADSP2181程序的运行。但是需要注意的是ADSP2181与外设不能够同时对同一个存储区进行读写,否则,会引起数据紊乱。 IDMA端口主要有以下几个信号线:nIRD(输入、读选通)、nIWR(输入、写选通)、nIS(输入、IDMA选通)、IAL(输入、地址锁存使能)、IDA0~15(地址/数据复用线)、nIACK(输出、DSP响应信号)。 IDAM读写的初始地址与存储区的类型由ADSP2181内部专门的寄存器来控制。每进行一次读写,则该初始地址就自动加1。该寄存器呵以由ADSP2181来设置,也可以由外设电路通过IDMA操作来完成。 IDMA读周期的时序图如图2所示。IDMA写周期的时序图如图3所示。需要注意的是在IDMA读周期中,nIWR为高电平,IAL为低电平,在IDMA写周期时序中,nIRD为高电平,IAL为低电平。 三、接口电路以及整体设计的考虑 图4是我们设计的接口电路框图。并口控制线包括Ndatastb、Naddstb、Ninit;DSP控制线包括nIS、nWRITE、nREAD、IAL。 其中可编程逻辑器件是该电路的核心器件。由于并口只能进行8bit的读写操作,而ADSP2181是16bit的总线,因此若要进行通信,必须设计好组合逻辑。如果采用分立元件,则电路比较复杂,调试起来比较麻烦,并且电路固定好以后,不可能进行其它方式的通信;而采用可编程逻辑器件EPLD,只需要修改器件的逻辑与更改外部引脚的定义就可以实现其它传输协议,如ECP或者其它并口的通信,并且调试起来也比较方便。 我们所选用的可编程逻辑器件是Altera公司的EPM7128S系列。它有2500个可用门,128个宏单元、2个全局时钟,可以完成EPP与ECP电路的逻辑设计。同时支持在线编程,可以很方便地对程序进行下载。该器件用MAXPLUS II系列的软件进行编程,这种软件支持图形、语言等多种设计文件。 由于采用可编程器件,因此电路还可以采用ECP协议。ECP协议支持DMA的传输方式。最主要的是在进行大批量的数据传输的时候可以节省很多系统资源;但在传输速度上并没有大的提高。该协议设计起来比EPP协议复杂很多,需要开发相应的硬件驱动程序。因此在我们设计的电路中,仍然采用EPP协议来实现。四、EPP并口传输速度的测试 读写程序是用VxD编写的。VxD(Virtual Device Driver)是用来扩展Windows操作系统功能的程序,也是一个管理硬件设备或者已安装软件等系统资源的32位可执行程序,并可以使得几个应用程序同时使用这些资源。Windows通过使用VxD允许基于Windows的应用程序实现多任务。VxD在与Windows的连接工作中处理树熊怕,并在不影响其它应用程序执行的情况下为特定的应用程序执行I/O操作。由于设备接收工作中处理中断,并在影响其它应用程序执行的情况下为特定的应用程序执行I/O操作。 测试结果如表2所列。表2 各种方式读速率的比较   方式1(字节读写) 方式二(字读写) 方式三(双字读写) 方式四(字读写) 平均速率/(KB/s) 850 950 1050 800 方式一:VxD编程中以字节来读; 方式二:VxD编程中以字来读; 方式三:VxD编程中以双字来读; 方式四:用C语言的inport()函数进行读写。 由于我们只关心从DSP中读的速率,从表2中看出可以做到1050KB/s的速率,基本满足我们要求。对于用C语言来编写并口操作的程序可以通过嵌套汇编来提高传输速度。 总结 采用EPP协议设计计算机与外设的通信是一种新颖的设计方法。在设计电路时采用可编程器件来设计控制逻辑将是电子设计的一个趋势,将使电路的扩充性与灵活性得到很大的提高。

    嵌入式软件 DSP iOS epp 强并口

  • DSP/BIOS环境下的数据通信

     摘要:讨论和比较DSP/BIOS环境下的各种通信方式,给出利用PIP管道对象进行数据通信的一个例子。文章的最后给出利用管道对象进行数据通信所需注意的一些问题和相应的解决方法。     关键词:DSP/BIOS 管道 流I/O 主机 引 言     对于数字信号处理应用来说,数据的通信很关键。在TI公司的DSP/BIOS环境下有3种通信方式,即基于管道(PIP,pipe)的通信、基于流(SIO,stream I/O)通道的通信以及基于主机(HST,host)通道的通信。每一种通信方式都是通过调度其相应的内核对象来完成的。DSP/BIOS提供了管理每一种通信方式的模块及相应地API调用,通过这些模块及调用,可以完成DSP环境下的输入/输出 (I/O)。本文在对各种通信方式进行简要介绍的基础上,对各种通信方式进行比较,并给出利用PIP对象进行数据通信的1个例子。 1 通信方式简介     (1)主机通信   主机通信方式下,由HST对象完成主机与目标机之间的通信。HST对象静态配置为输入/输出,每一个HST对象内部是用数据管道对象来实现的。  开发DSP应用时,可以应用HST对象来模仿数据流和测试程序算法对数据的处理。在程序开发的早期,特别是在测试信号处理算法时,程序使用输入通道对象访问来自主机文件中的数据,以及使用输出通道对象把算法处理过的结果反馈回主机一侧,以供查验或比较。在程序开发的后期,当算法开发完毕时,可以把HST对象改回到PIP对象,通过利用PIP对象完成外设真实数据与目标应用程序之间的通信。     (2)管道通信   管道(PIP)对象用于管理块I/O(也称为基于流的I/O或者异步I/O)。每一个PIP对象维护着一个分为固定数量和固定大小的缓冲区(称为帧)。所有的I/O操作在每一刻只处理1帧。尽管每一帧长度是固定的,但是应用程序可以在每一帧中放置可变数量的数据(但不能超过最大值)。管道有两端,一端为写线程,一端为读线程。写线程一端用于向管道中添加数据,读线程一端用于从管道中读取数据。管道能够用于在程序内的任意2个线程之间传递数据。经常地,管道的一端由ISR控制,另一端由软件中断函数控制。数据通知函数(也称为回调函数)用于同步数据的传输,包括通知读函数和通知写函数。当读或写1帧数据时,这些函数被触发,以通知程序有空闲帧或者有数据可以利用。     (3)流通信   流是一个通道,通过它,数据在应用程序与 I/O设备之间传输。流通道可以是只读的(用于输入)或者只写的(用于输出)。它对所有I/O设备提供了一个简单通用接口,允许应用程序完全不用考虑每个设备操作的细节。流I/O的一个重要方面是它的异步特性。当应用程序正在处理当前缓冲区时,一个新的输入缓冲区正在被添充和以前的缓冲区正在被输出。流交换的是指针而不是数据,这就大大减少了开销,使得程序更能满足实时约束的要求。流模块(SIO)通过驱动程序来与不同类型的设备打交道。驱动程序由DEV(Device)模块管理。   设备驱动程序是管理一类设备的软件模块。这些模块遵从通用接口(由DEV提供),因此,流函数能够发出普通请求。图 1 给出了流与设备之间的交互示意图。     (4)各种通信方式比较   DSP/BIOS支持两种不同的数据传输模型,一种是管道模型,由PIP与HST模块使用;另一种是流模型,由SIO与DEV模块使用。2个模型都要求1个管道或者流具有1个读线程和1个写线程。2个模型都通过拷贝指针而不是数据来完成数据的拷贝。一般来说,管道模型支持低级通信,而流模型支持高级的、与设备无关的I/O。具体情况如表1所列。表1 DSP/BIOS环境下通信方式的比较 管道对象(PIP与HST) 流对象(SIO与DEV) 程序员必须创建自己的驱动程序 提供了一种创建设备驱动程序的更加结构化方法 读/写线程可以是任意线程类型或者主机PC 一端必须由使用SIO调用的任务(TSK)来处理,另一端必须由使用Dxx调用的HWI处理 PIP函数是非阻塞的,程序在管道写或读之间必须进行检查,以确保缓冲区可利用 SIO_put、SIO_get和SIO_reclaim是阻塞函数(SIO)_issue是非阻塞函数) 使用更少的内存,一般较快 更加灵活,使用简单 每个管道拥有自己的缓冲区 缓冲区能够从一个流传输到另一个流而不用拷贝 管道必须使用配置工具静态地配置 流可以在运行时刻创建或者使用配置工具静态地配置 对推栈设备(stacking devic)没有内建地支持 提供对堆栈设备(stacking devic)的支持 使用HST(内部PIP实现)使得主机与目标机的通信容易起来 DSP/BIO提供了大量的设备驱动程序 2 基于管道通信的一个例子   在基于以上分析的基础上,给出利用管道进行通信的1个例子。该例是音频处理的一个例子。数据从数据源输入到编码器以后经量化通过串行口输入到目标机,目标机处理完毕后再经串行口发送到编码器,由编码器经扬声器输出。图2给出数据的流程图。     (1)管道设计   该例中,设计了DSS_rxPipe和DSS_txPipe两个管道,其中DSS_rxPipe用于数据的接收,DSS_txPipe用于数据的发送。     (2)线程设计   由于每个管道分别对应1个读写线程,因此,发送管道与接收管道总共需要4个读写线程。本例中为了简化设计,只设计了2个线程。其中,音频处理函数(设计为软件中断SWI)既作为接收管道的读线程又作为发送管道的写线程;串行口接收中断处理服务例程ISR既作为接收管道的写线程又作为发送管道的读线程。   每次中断发生时,串行口中断服务例程(ISR)把数据接收寄存器(DRR)中的数据字(32位)拷贝到数据接收管道的一空闲帧中。当1帧被填满时,ISR把该满帧写到数据接收管道中(通过调用PIP_put),供该管道的读线程(即音频处理函数)读取。音频处理函数执行时,它读取接收管道中的一满帧,处理完毕后再把它写到发送管道的一空闲帧中,供该管道的读线程(即ISR)发送。每次ISR触发时,它从发送管道中读取一满帧(若有的话),并每次32位字地发向串行口发送寄存器(DXR)直到1帧中的所有数据发送完毕。然后,该空闲帧被回收到发送管道,供音频处理函数(即该管道的写线程使用)。需要注意的是,由于例子当中发送速率与接收速率一样,因此,中断处理函数不但负责数据的接收也负责数据的发送,并且每次中断执行时只发送1个32位字。    (3)需注意的问题   PIP_alloc和PIP_put由PIP对象的写线程调用,PIP_get和PIP_free由PIP对象的读线程调用,这种调用顺序是非常重要的。若打乱这种调用顺序,将会产生不可预测的后果。因此,每一次对PIP_alloc的调用都要跟着对PIP_put的调用才能继续调用PIP_alloc;对于PIP_get,情况也是如此。 另外,为了避免PIP调用过程中产生递归,作为通知读/写函数的一部分,应该避免调用PIP API函数。如果为了效率起见必须要这样做,那么对诸如此类的调用应该加以保护,以阻止同一管道对象的重入以及错误的PIP API调用顺序。例如,在发送管道的通知读函数以及接收管道的通知写函数的开始部分,我们添加了如下语句,以避免递归调用: static Int nested = 0; … if (nested){/*防止由于调用PIP_get函数而产生的递归调用*/ return; } nested =1; … 3 总 结   在DSP/BIOS提供的3种通信方式中,由于PIP对象的效率很高,因此使得它在基于DSP应用系统的输入输出中得到了广泛的应用。但是,我们在利用其所提供的便利的同时,一定要妥善处理好通知读/写函数的编写工作,以免发生递归调用,产生灾难性的后果。

    嵌入式软件 DSP iOS bios

  • ATMEL单片闪存MP3解码芯片应用

    随着技术的不断进步和市场对MP3播放器新的要求,MP3解决方案也不断推陈出新。特别是最近一年,各家IC公司以眼花缭乱之势推出了从多片到单片SOC的新方案。 ATMEL在上述形势下,于2002年率先推出了带即插即用U盘功能的单芯片闪存MP3解码器芯片。TLG公司在ATMEL协助下,已成功开发了多款性价比极优的畅销机型。 AT89C51SND1具有以下功能: *MP3硬件解码器-单独的MP3解码器 -支持48,44.1, 32, 24, 22.05, 16KHz采样频率-左右声道独立的音量控制(软件使用31级)-重低音、中音、高音均衡控制(31级)-重低环绕声效果-辅助数据输出-“CRC错误”和“MPEG帧同步”指示 *具有适应市场上不同的DAC的可编程的音频输出接口-兼容PCM格式-兼容I2S格式 *基于8位C51 MCU核(最大时钟频率20MHz) *内置2304字节RAM *64K字节FLASH程序空间-FLASH: AT89C51SND1C-ROM: AT83C51SND1C *4K字节引导闪存(T89C51SND1)-在系统编程:通过USB,UART和其他存储卡 *USB Rev1.1控制器-“Full speed”数据传输 *内置锁相环-提供MP3,音频时钟-USB时钟 *兼容MultiMediaCard (MMC)卡接口   *兼容Atmel DataFlash SPI接口 *兼容IDE/ATAPI(硬盘)接口 *通道10位AD转换器,8KHz(8位真有效值)-电池电压监视-软件控制的录音 *超过44个可用的通用I/O口:-4位可中断的键盘口,可组成4xn矩阵键盘-软件编程的Smartmedia接口 *两个标准的16位的定时/记数器 *硬件看门狗 *带有波特率发生器的标准通用异步串口 *主从I2C控制器 *主从SPI控制器 *电源管理模块-上位复位-软件可编程MCU时钟-空闲、掉电模式 *工作范围:-在25C, 3V, 10%, 典型操作时消耗电流25mA-工作温度范围-40C - +85C 典型应用 ·MP3播放器 ·PDA,数码相机,MP3移动电话 ·汽车多媒体MP3 ·家庭多媒体MP3 ATMEL单片闪存MP3解码芯片的优点 ·集成USB,MMC的嵌入式C51非常小的系统软件功能齐全带USB功能的MP3播放器仅需15K字节固件代码。 ·有44通用I/O口的嵌入式C51NAND Flash, SSFDC, I2C, SPI和IDE多种扩展功能接口容易适应多种应用场合(Flash/CD/HDD播放器,汽车/旅行/组合音响...)。 ·硬件MP3解码器和硬件接口控制器非常低的工作电流:25mA@(128Kbps,48KHz采样率,16MHz时钟C51 X1模式,3V, 25C)。 ·可以通过USB进行固件升级的flash版本通过网页下载音乐和固件系统引导或者用户特殊引导的E2PROM。 ·低成本的掩模ROM版本:64K 80C51 + MP3解码器 + USB! ·提供廉价的开发工具和不需要软件授权费用。 ·提供绝大部分的程序C51代码,给用户充分发挥的空间。 ·内置2304字节的RAM,方便用户增加复杂的功能。 ·内置程序存储器和多种固件加密方式,保护用户独有创新的知识版权。 ·需要很少的外围器件SND1,DC-DC,音频DAC和存储器,可以做到很小的空间内,适应现代MP3的纤小而功能全面的要求。 ATMEL单片闪存MP3解码芯片典型应用的硬件结构 我们使用ATMEL单片闪存MP3解码芯片设计一个市场上最流行的MP3播放器,具有中文LCD显示,即插即用而且可以当U盘使用,内置128M字节NAND闪存,使用一节AAA(7号)电池,有录音、复读和电池电量指示。 硬件框图略(详见《单片机天地》2003.10) 1.AAA电池通过DC-DC电路从1.5V转换到3V提供给MCU、DAC、耳机放大器、LCD模块、NAND闪存、录音前置放大器等电路电源。 2.MCU在通过键盘和LCD液晶显示屏和用户进行交流,接收用户的指令并从LCD液晶显示屏中将用户指令执行的结果显示出来。如:a用户按播放键要求播放MP3音乐时,MCU读NAND闪存的数据。如果有MP3歌曲在闪存上,MCU读MP3文件,并且将MP3的歌名显示在LCD液晶显示屏上;如果没有MP3歌曲在闪存上,MCU显示没有的歌曲的信息在LCD液晶显示屏上,如果还有别的问题也显示在LCD液晶显示屏上。 3.如果用户把MP3播放器连接到电脑(包括使用MICROSOFT WINDOWS、UNIT、LINUX、MAC OS)中,MCU识别到用户读写NAND闪存要求时,根据电脑的指令对NAND闪存进行读写,并且及时将状态显示在LCD液晶显示屏上。 4.当用户进行录音时,MCU将麦克风和麦克风前置放大电路的电源打开,将其他无关的电路电源切断,防止对录音产生干扰,经过放大的麦克风声音信号经过MCU集成的A/D转换器将模拟信号转换成数字信号,然后MCU将该数字信号存储到HAND闪存上,MCU按照一定的频率周而复始的重复上述过程,直到用户要求录音停止或HAND闪存用完。 5.当用户要求播放MP3音乐时,如果有MP3歌曲在闪存上,MCU将一段的MP3歌曲的数字数据从HAND闪存读到MCU集成的MP3解码器中,并且根据MP3数据的格式和用户的要求设置好MP3解码器的参数,MP3数据通过MP3解码器解码后变成WAV格式的数字信号,该信号按照用户设定的外部A/D转换器格式通过音频接口输出的外部A/D转换器,外部A/d转换器将WAV格式的数字信号转换为人耳朵可以接受的模拟信号并且通过耳机放大器放大后送到耳机。 ATMEL单片闪存MP3解码芯片典型应用的固件(Firmware)结构图略(详见《单片机天地》2003.10) 由于系统管理的接口、器件和任务都比较复杂,整个固件系统是复杂的。但是掌握一定的方法消化并运用固件是不困难的。 固件从任务调度的角度来说,分为: a disp_task.c负责显示任务,定时的更新显示状态。 kbd_task.c负责接收用户的按键请求。 usb_task.c负责接收电脑通过USB口发来的命令和数据。 mem_task.c负责存储器的管理工作。 mode_task.c负责模式转换的分配工作,主要是song_task,voice_task,tool_task之间的转换: song_task.c负责MP3播放工作,voice_task.c负责录音的录和放工作,tool_task.c负责常用工具的管理工作。 各个任务之间是一种协作式多任务方式工作的,每个任务接收系统发出的调度数据,处理相应的工作,如果工作的条件(I/O资源、时间等)满足,就执行相应的工作,否则释放MCU的控制权,等待下次MCU的控制权。 ATMEL单片闪存MP3解码芯片典型应用的软件结构 由于ATMEL单片闪存MP3解码芯片是即插即用的U盘,只有WIN98下需要驱动程序,ATMEL免费提供编译好的版本和用户可修改的版本WIN98驱动程序。 ATMEL单片闪存MP3解码芯片开发平台: 开发板:DVK-04 kit 仿真器:CEIBO FE-51SND 固件(Firmware)编译器:Keil C51 V7.0+ 固件(Firmware)下载工具:FLIP 1.60+ 固件的下载电缆:RS232串口电缆(TTL带电平转换)或USB连接电缆。 展望 顺应市场对MP3播放器在下载速度、耗电、保护知识产权、体积等方面的要求,TLG已完成以硬盘为存储介质的超大容量新一代MP3开发。ATMEL具有USB2.0主从OTG、集成电源管理、集成A/D转换器、存储控制器等更强功能的下一代芯片也即将推出。

    嵌入式软件 Atmel MP3 解码芯 Linux

  • 单片机控制的数字触发器

    摘要   介绍了8051单片机在晶阐管触发电路中的应用,同时有单片机与上位机进行串口通讯的软件设计。由软件控制可产生不同顺序的6组触发脉冲。 关键词   单片机  VB  晶阐管  数字触发器     电力电子技术研究的内容包括三个方面:电力电子器件、变流电路和控制电路。电力电子变流技术在工业化领域有着广泛的应用。家用电器节能灯、电子拖动、电炉控制系统中已采用相控整流技术。但多数触发装置普遍是模拟的,调节十分的不便,触发精度差、故障率高。采用单片机来控制晶阐管的触发,是晶阐管应用的发展趋势。本文介绍了一种由8051单片机组成的触发控制系统,可实现高分辨率的数字触发器。     1 系统硬件组成及其原理     系统硬件组成如图1,被控对象是三相全控桥整流电路。控制电路由8051单片机及其外围电路组成。外围电路主要是由键盘电路、同步脉冲形成电路、驱动输出电路等组成。     1.1 控制角θ     控制角θ是滞后自然换相点的电度角,在工频条件下,它和时间Tθ有如下关系:      Tθ=T/360*θ=(20*θ)/360=0.056ms    其中T是工频电源周期,θ是控制角。     由上式可知,只要知道控制角就可以算出定时时间Tθ,采用定时计数器来完成对控制角的定时。8051单片机有两个定时计数器,可由程序选择作为定时器用或作为计数器用,定时时间或计数值也可由程序设定。随便选择定时或计数方式,其实质都是一样的。     如果选择的是方式1的话,定时时间可由下式计算     Td=(65536-x)*Tcy      其中Tcy=1μS  因为采用的是12MHz的晶振,x是计数值。     分辨率为:φ=360/T*Tcy=0.018(度)     方式1是16位的定时器,其最大的定时角度为:     θmax=0.018*65536=1179.648(度)     从上面可知,不论是分辨率还是移相范围都能达到令人满意的结果。     1.2同步脉冲形成电路     由于触发脉冲的自然换相点要与三相电源的线电压的过零点同步,所以要由同步脉冲形成电路产生同步脉冲。     电路如图2所示,交流电经过降压后,由LM339过零比较器进等过零检测,然后经过光电隔离各微分电路输出脉冲信号,加到单片机外部中断引脚去作为同步信号。 同步脉冲形成电路主要由过零比较器、同步变压器及整形电路组成。三相交流电源经过变压器降压后从副边输出,然后送到过零比较器电路,在每一个电源周期的过零点将输出两个同步脉冲,一个周期内,三相电源将输出6个同步脉冲,这6个同步脉冲在相位上相差60度,在时间上就会相差3.333ms,它们就每隔3.33ms加到单片机的外部中断引脚INT0上。由于在三相桥式全控桥电路中,它的自 然换相点是线电压的过零,所以加在过零比较器电路的是线电压。     1.3  触发脉冲形成电路 根据三相桥式整流电路对触发脉冲的要求,必须对应导通的一对晶阐管同时加触发脉冲。常用的方法有两种:一种采用宽脉冲触发,它要求触发脉冲的宽度大于60度;另一种采用双脉冲触发,即触发一个晶阐管时向小一个序号的晶阐管发补脉冲。关系如下: 触发的晶阐管    V1      V2      V3       V4      V5      V6 补发的晶阐管    V6      V1      V2       V3      V4      V5 在本文中将采用双脉冲触发方式,因为60度的脉宽在单片机中所对应的定时是比较长的,所以此方法不佳。采用双脉冲触发是,就要在软件设计时用标志旗的方法来标注,特别是V1,因为它并不是V0,它是V6,其余的都是Vn和Vn-1。 1.4  驱动电路 驱动电路主要由光电隔离和脉冲变压器组成。 2软件设计 2.1单片机部分 软件设计的流程图如下:采用双脉冲触发是,就要在软件设计时用标志旗的方法来标注,特别是V1,因为它并不是V0,它是V6,其余的都是Vn和Vn-1。 流程图如下: 设控制角为α,为使可靠触发,触发脉冲脉宽为15度,那么每一个周期的第一个脉冲上升沿所对应的时间Tup=α*T/360,其下降沿时间Tlow=(α+15)*T/360。这样只要定时器定相对的时间,就可以得到准确的触发脉冲。在编程时可以用计数的方式,把定时方式改为计数,Cup 、Clow。. 程序片段: ;***********输出触发脉冲程序*************  ORG     0003H          AJMP    P_INT0          ORG     0030H P_INT0:          MOV  TMOD,#11H          MOV  TH0,#CUP_H    ;上升沿计数值高位          MOV  TL0,#CUP_L    ;上升沿计数值低位          MOV  TH1,#CLOW_H  ;下降沿计数值高位          MOV  TL1,#CLOW_L   ;下降沿计数值低位          MOV  IE, #8FH                  SETB  TRO                      SETB  TR1                  SJMP  $ ;********定时器0中断****************** ORG     00BH T0_SERVE:           SETB  P1.6           RETI ;********定时器1中断****************** ORG     001BH T1_SERVE:           CLR   P1.6           RETI 2.2 上位机部分 用VB打开一个窗口,上面建立一文本框,端口选择框,以及打开一个MSComm控件。用于上位机给下位机发触发角。 3外围电路 组合电路是从P1.6输出的同步脉冲与应该触发的晶阐管(P1.0~P1.5)脉冲相与,输出到驱动电路,这样就可以得到期满意的触发脉冲。 键盘显示电路是在无上位机的情况下,由自制键盘输入,并在LED上显示控制角。 采用单片机控制触发电路是未来晶阐管触发电路的趋势。但在环境恶烈的地方安全性不高。不过应用在实验室却是一种非常好的手段。  

    嵌入式软件 WinCE

  • 很多问题还得靠自己解决!

    threewater 发表于 2004-12-4 02:33 LINUX|编程 ←返回版面 你也不仔细说清楚。是怎么死机的?报告什么错误?看看readb是怎么写的?多读读源码,少埋怨别人不帮你解决问题,因为linux内核太复杂了,版本也很多。遇到和你同样问题的人,可能就不多;能顺利解决问题的人也不一定有多少;能解决了问题,来各个讨论区看到你发问,也不容易;能看到你发问,也不一定个个都有心情出手相助。所以,自己读源码解决问题才是关键。其他人可以给你参考。其实,国内研究linux内核的高手不少,至少,我觉得做驱动,不算难。能做的人有很多。相关帖子 哪位在LINUX下编过AT9200的驱动程序,有问题请教!! - meng730507 2004-11-17 16:17:49 [ID:1435082 点击:49] (303 Bytes) (5) 很多问题还得靠自己解决 - threewater 2004-12-4 2:33:25 [ID:1459040 点击:4] (457 Bytes) (0) 我们大家正在紧张的学习中,多给一点的时间!一定不会失望的! - 宇宙飞船 2004-12-3 23:43:01 [ID:1458982 点击:11] (345 Bytes)

    嵌入式软件 解决! Linux

  • ARM期待中国的芯片巨人

        2003年9月16日,大唐和ARM共同宣布,大唐已购买ARM946E™微处理器内核授权。大唐开发的基于ARM946E™微处理器内核的SCDMA基带信号处理器芯片将于明年一季度面世。该芯片将是国内首片拥有自主知识产权的无线基带信号处理器芯片。     此次授权协议中,大唐还购得了用于先进的片上系统(SoC)调试的ARM Embedded Trace Macrocell(ETM9™)技术方案授权。ETM9技术方案将为大唐调试其基于ARM946E内核的产品提供快速、经济的调试方案。     9月19日,ARM公司中国区总裁谭军约见北京媒体记者,就此次和大唐的合作与媒体进行交流。ARM进入中国两年以来,已经和中兴,华虹,东南大学,上海集成电路设计中心,中芯国际签定了芯片核心技术授权协议,大唐是第六个购买ARM核的中国公司,用于SCDMA无线网络应用中。     ARM是世界第一大IP知识产权厂商,在全球已经有将近200多个半导体公司购买了ARM核生产自己的处理器。目前,80%以上的GSM手机,99%的CDMA手机,以及将来的WCDMA,TD-SCDMA手机都采用的是基于ARM核心的处理器。明年,UT斯达康公司也将采用基于ARM核的处理器生产小灵通手机。因为众多的手机处理器,如摩托罗拉龙珠,i.MX, 德州仪器的OMAP, Intel的xScale等都采用了基于ARM核心的芯片,主流的操作系统,如PocketPC, Symbian, PalmOS都支持ARM处理器,所以众多手机,PDA等OEM厂商也比较喜欢采用ARM处理器,因为相关的操作系统,应用,开发工具,支持,设计服务都相当丰富和成熟,可以直接拿来所用,可以大大缩短产品研发到面市的时间,抢占商机。     ARM自己并不生产芯片,采用IP授权的方式允许半导体公司生产基于ARM的处理器产品。授权的费用包括两种,第一个是版权费,当半导体厂商决定购买ARM核后,将支付版权(License)费用给ARM公司,然后可以自主开发自己的处理器产品。第二个费用是半导体厂商将芯片产品卖给整机厂商(OEM)后,ARM将对每片处理器产品收取一定的版税(Royalty)。ARM公司2002年的全年收入为2.4亿美元,其中版权收入大概占40%,基于每片芯片的版税收入大概占30%,其它的收入来自培训,开发工具,支持等。针对不同行业来说,手机芯片占到了ARM收入的70%左右。谭军透露了一个以前没有提过的数字,平均下来,ARM对于每片芯片的版税大概在10美分左右。     在ARM公司的全球收入中,北美大概占50%,欧洲大概占30%,余下的20%来自日本,韩国和中国。相对来说中国还是很小的一块。但是两年前,ARM就开始进入了中国,并于去年成立了安谋咨询(上海)有限公司,开展中国的业务。谭军充满信心的表示,中国正在成为半导体行业的热点,中国的手机生产也几乎占了到全球的40%左右,中国的手机市场也成为了世界上最重要的一个市场,但是目前微处理器的核心技术仍然掌握在美国和欧洲手中。如果国内新兴的半导体厂商能够采用ARM内核,生产出具有自主知识产权的微处理器,不失为切入这一市场的捷径。ARM期待着若干年后,中国也能出现象德州仪器,摩托罗拉,英特尔这样的芯片巨人。 

    嵌入式软件 Symbian ARM

  • [图文]便携式设备电源管理的革新

        访德州仪器便携式电源产品总监Dave Heacock 和模拟产品销售经理王剑     最近一两年来,“不景气”似乎是电子行业人士经常挂在口头的一句话,但是在嵌入式系统和便携式设备领域,人们看到的依然是飞速增长的速度和推陈出新的产品。在消费者购买便携式设备或手机的时候,电池寿命和便携式设备的待机和使用时间,往往是除产品功能外最重要的参考因素。因此,设计人员对低功耗、高性能、体积小巧的便携式电源系统的需求愈来愈高,同时,他们还需要芯片厂商能提供高集成、高智能与高易用性的电源管理芯片。 图为Dave Heacock   德州仪器(TI)一直是便携式电源管理芯片方面领导者,为此,本站记者于近日采访了该公司便携式电源管理产品总监 Dave Heacock 和模拟产品销售经理王剑。资历比较老一些的电子工程师都知道原来在电源管理方面比较有名Benchmarq和Unitrode公司,在1998年,Unitrode收购了Benchmarq, 不久,Unitrode又被德州仪器收购。Dave Heacock当时就是Benchmarq公司的总裁,目前在德州仪器专门负责电源管理产品线。   Dave Heacock介绍说,电源系统设计一直是整体应用设计中一个十分关键的环节,对便携式应用更是如此。到目前为止,投放到市场中的便携式电源产品已达到30多个类别,而到了2006年, 预计全球便携式电源管理IC市场将实现更大突破。TI拥有这方面的关键技术与制造工艺,可以为设计人员提供了最全面、最先进的便携式电源管理IC产品系列,帮助他们最大程度地简化电源设计和降低开发时间与成本。王剑另外补充,用户的需求,就是该公司创新的目标,厂商要以高集成度、高智能化和设计简便的电源管理IC帮助设计人员开发出更丰富的应用,使便携式应用更为个性化、性能更完善、并且具有更长的电池使用寿命。   Dave Heacock和王剑向记者展示了两款TI推出的最新电源管理芯片 bqTINY II 和 bqJunior。其中bqTINY II是一款外形尺寸极小且集成度很高的一节锂离子(Li-Ion)和锂聚合物(Li-Pol)电池充电器, 特别值得一提的是,它不但可以通过AC转换器对便携式设备进行充电,还是通过USB对PDA, 手机,数字相机等设备进行充电,这样,当用户的便携式设备通过USB和PC机进行数据交换或者运算同时,还可以从PC上对便携式设备直接进行充电,为用户提供了极大的方便,并节约了充电的时间。   bqTINYⅡ系列电池充电器具有自动的电源选择、功率场效应管(FET)和电流检测器、高精度的电流和电压调节、充电状态指示和终止功能, 而所有这些功能都集成在一块硅芯片上。在USB配置中,主设备(如PDA或蜂窝电话)能够在两种预定的充电率(100mA和500mA)之间进行选择。在AC适配器配置中,集成功率FET允许高达1A的充电电流。一个具有可编程电流调整点的集成电流检测器可提供设计的灵活性并免除增设占用空间的外部检测电阻器的需要。   另一款产品是bqJunior,它的突出特点是可实现电池剩余电量和系统运行时间的计算。目前电池容量检测芯片一般都采用电压作为容量计算的参数,然而,电池提供的电压受外部环境温度,充放电时间和次数的影响较大,因此对于剩余电量的估算都不十分准确。与标准的电池监测器不同,bqJunior能够通过对电池放电率和温度的变化来对剩余的电池容量和运行时间的计算进行校正。由于该器件执行的是算法和数据集的计算,因此无需开发和采用代码在主系统处理器中执行那些任务,这有助于减少开发时间和总运行成本。   bqJunior型电池电量测量芯片具有一个内部处理器,用来计算电池的剩余电量和系统运行时间(至电池电量耗尽的时间)。该器件采用一个集成化的低偏移电压-频率转换器(VFC),电池的充电和放电电流的测量误差在1%以内。设置于该IC上的一个单独的模-数转换器(A/D)用来测量电池电压和温度。利用这些测量数据,bqJunior通过一个经过验证的算法来精确计算出电池的剩余容量和系统运行时间。   主系统处理器只需通过读取bqJunior中的数据就可以得到电池剩余电量、系统运行时间等电池管理的重要信息,其中包括:剩余电量、平均电流、温度、电压以及至电池电能耗尽和充满电的时间。bqJunior采用一个单线通信端口(HDQ协议)来把数据集传送至系统主控制器。   目前,bqTINY已经在市场上得到了应用,bqJunior也已经陆续获得定单。遵循TI一贯的风格,这两个系列都是通用性产品,可以应用于不同的系统中。同时,它们也兼顾了个性化定制特性和功能的完善性,其最终目的,是为了让便携式系统电源管理更加精确,效率更加提高,从而使终端产品能获得更长的使用时间。

    嵌入式软件 QT 理的革

  • 力不从心的感觉!!!

        03年末流重点大学毕业,现在从事单片机开发工作。尽管上学时单片机是主修课程,但我没怎么学,考试是自己考的(没抄别人的 ),80多分。实验没做过,都是同学代做的,示波器不会用,就这样毕业了。刚毕业找了一家国企,2个月后实在忍受不了,跳了出来。东找西找,终于找到了一家能从事小公司,用430做手持gps,几乎所有的东西都是从头学的,幸亏老板不懂,还有其他同事的照顾,我才能留在那。因为430上手比51快多了,gps也比较简单,在那四个月多月,项目完成了。自信心一下就有了,同时忍受不了老板的刻薄,再次跳槽到新公司一直工作到现在。     我就想说说最近工作的的感受。现在,arm有股山雨欲来之势,大家都在谈arm,好象51一下都没有了似的(虽然事实并非如此),“为了美好的未来”,抓紧时间学。庆幸,新公司给我的项目也是用arm的。刚刚懂了一点,感觉学到点东西了,大家又在谈us2了。花80多元买了本书,从头到尾略读了一遍,终于对操作系统有了大概的认识。感觉现在终于找到了方向,正准备在us2上下功夫,研究个透。没想到老大的话给我当头一棒,“us2不行的,还是好好学学wince、linux吧”。到网上一看,的确好象linux挺多,还有人说什么linux是最终归宿。一下子感到胸中气闷。arm,我是半生不熟,us2知道个大概,虽然我知道我能把他们弄明白,但是需要我花大量时间的。那么linux呢,我还要浪费我生命中多少的时间去学他呢?这些只是一部分,还有其他的呢。串口是基本功,我掌握了,接踵而来的是IIC,明白个差不多,正高兴呢。老大告诉我下个项目考虑下用usb,我靠,老天赐给我时间为什么那么少。刚刚做完sms(短信),就开始做gprs。刚刚玩转gsm,又要研究cdma。刚刚做了几块双面板,人家都4、6面了。好奇妙,每学会了1个问题,就有10个问题等着,简直要崩溃了。     这还不算,还有人气你,bbs上刚毕业一、两年的大哥,就C、C++都掌握,cpld、pfga都会(有的我都没听过)还有usb、tcp/ip...当然能知道有的是吹牛,但不能不影响我的心情。加上生活上的压力,有时真的令人愤懑。哎,罗罗嗦索说一些不招边际的话,就是发发牢骚。这行还是挺适合我的,等明年的合同结束,就去深圳,倒是想看看最残酷的地方是什么样,祝自己好运。 

    嵌入式软件 Linux

  • 力不从心的感觉!!!

        03年末流重点大学毕业,现在从事单片机开发工作。尽管上学时单片机是主修课程,但我没怎么学,考试是自己考的(没抄别人的 ),80多分。实验没做过,都是同学代做的,示波器不会用,就这样毕业了。刚毕业找了一家国企,2个月后实在忍受不了,跳了出来。东找西找,终于找到了一家能从事小公司,用430做手持gps,几乎所有的东西都是从头学的,幸亏老板不懂,还有其他同事的照顾,我才能留在那。因为430上手比51快多了,gps也比较简单,在那四个月多月,项目完成了。自信心一下就有了,同时忍受不了老板的刻薄,再次跳槽到新公司一直工作到现在。     我就想说说最近工作的的感受。现在,arm有股山雨欲来之势,大家都在谈arm,好象51一下都没有了似的(虽然事实并非如此),“为了美好的未来”,抓紧时间学。庆幸,新公司给我的项目也是用arm的。刚刚懂了一点,感觉学到点东西了,大家又在谈us2了。花80多元买了本书,从头到尾略读了一遍,终于对操作系统有了大概的认识。感觉现在终于找到了方向,正准备在us2上下功夫,研究个透。没想到老大的话给我当头一棒,“us2不行的,还是好好学学wince、linux吧”。到网上一看,的确好象linux挺多,还有人说什么linux是最终归宿。一下子感到胸中气闷。arm,我是半生不熟,us2知道个大概,虽然我知道我能把他们弄明白,但是需要我花大量时间的。那么linux呢,我还要浪费我生命中多少的时间去学他呢?这些只是一部分,还有其他的呢。串口是基本功,我掌握了,接踵而来的是IIC,明白个差不多,正高兴呢。老大告诉我下个项目考虑下用usb,我靠,老天赐给我时间为什么那么少。刚刚做完sms(短信),就开始做gprs。刚刚玩转gsm,又要研究cdma。刚刚做了几块双面板,人家都4、6面了。好奇妙,每学会了1个问题,就有10个问题等着,简直要崩溃了。     这还不算,还有人气你,bbs上刚毕业一、两年的大哥,就C、C++都掌握,cpld、pfga都会(有的我都没听过)还有usb、tcp/ip...当然能知道有的是吹牛,但不能不影响我的心情。加上生活上的压力,有时真的令人愤懑。哎,罗罗嗦索说一些不招边际的话,就是发发牢骚。这行还是挺适合我的,等明年的合同结束,就去深圳,倒是想看看最残酷的地方是什么样,祝自己好运。 

    嵌入式软件 WinCE

  • Altera发布Nios 3.0处理器软核

    近日,Altera公司发布了嵌入式微处理器软核--Nios的3.0版本。Nios在全球的嵌入式微处理器软核具有领先地位,这个新的版本提供了高性能的内存管理功能,可以在高性能的Stratix或是低成本的Cyclone芯片上实现。新发布的版本可以提高系统的性能,加快系统开发的速度。  到目前为止,Altera已经为客户提供了超过1万套Nios嵌入式微处理器的开发工具。这次推出的Nios 3.0版本增加了用户配置模块,同时增加了数据cashes,提高了对大容量双端存储器器件的支持,整个Nios 3.0模块可以在高性能的Stratix以及低成本的Cyclone器件上实现,给了客户给多的选择余地。更多的详细情况请访问Nios的网站:  http://www.altera.com/nios 。  Altera Nios的签约用户马上可以得到Nios 3.0的资料和软件,协议期限超过的用户仅需支付495美元就可以得到为期一年的支持。关于Nios 3.0全部的资料以及开发环境将在2003年3月份销售,如果客户需要重新购买的话,需要支付995美元。 

    嵌入式软件 Altera 3.0 iOS NIOS 理器软

  • ARM推出AMBA标准兼容项目测试平台

    英国ARM公司日前推出AMBA™标准兼容项目(AMBATM Compliance Program)。在这个项目中,采用AMBA的IP开发者可以通过AMBA标准兼容测试平台(AMBA Compliance Testbench,即ACT)产品,使用 “ AMBA Compliant” 的商标,增加系统可复用性,进而提高自身的IP质量。 推出AMBA标准兼容项目有两个目的:保证基于AMBA技术的各IP之间能够很好地协同工作、鼓励第三方AMBA解决方案的开发。通过这个项目, IP创建者可以更好地验证其AMBA接口,加快向AMBA规范的过渡。而对于IP使用者来说,他们可以非常容易地识别经AMBA接口标准验证的IP。经验证的IP可以令 其使用者降低风险、缩短产品上市时间。 AMBA 标准兼容非常关注那些投资AMBA技术的公司(如:NEC Electronics 和 Infineon Technologies)以及他们希望IP可以集成进AMBA设计的要求。  IP可以使用符合AMBA标准兼容测试平台规范的产品进行测试验证。AMBA标准兼容测试平台规范可以在ARM授权下得到。   AMBA标准兼容测试平台产品能使IP验证在AMBA标准兼容规范下自动进行,并且通过提供一个在标准组件工作的样本,帮助缩短测试平台的开发时间。简化后的格式可以实现快速仿真,通过对用户开发环境的有效集成,达到平衡模块开发和系统设计的目的,从而完成自我验证过程,而这个过程对于AMBA标准兼容测试项目是非常重要的。 ARM开发了自己的符合AMBA标准的测试平台产品,目前可以通过授权得到,它们完全支持IP的标准兼容认证和AMBA标准兼容项目。 ARM 的AMBA标准兼容测试平台通过提供强大的测试平台部件,支持AMBA IP的开发。它是与Verisity 公司共同开发完成的,可以完美地接入任何校验环境。

    嵌入式新闻 ARM 新品发布 amba 项目测

  • TI可通过USB对PDA和手机充电的充电器

    德州仪器(TI)公司日前宣布推出一款外形尺寸极小且集成度极高的一节锂离子(Li-Ion)和锂聚合物(Li-Pol)电池充电器。它实现了由一个通用串行总线(USB)端口或AC适配器来对个人数字助理(PDA)、蜂窝电话、数码相机和无线头戴耳机进行充电。 bqTINYTMⅡ系列电池充电器凭借其自动的电源选择、功率场效应管(FET)和电流检测器、高精度的电流和电压调节、充电状态指示和终止功能——所有这些全部集成在一块硅芯片上——为设计人员提供了全面集成、全面兼容型USB端口和AC适配器供电管理能力。 在USB配置中,主设备(如PDA或蜂窝电话)能够在两种预定的充电率(100mA和500mA)之间进行选择。在AC适配器配置中,集成功率FET允许高达1A的充电电流。一个具有可编程电流调整点的集成电流检测器可提供设计的灵活性并免除增设占用空间的外部检测电阻器的需要。 与bqTINYTM系列中的其他产品一样,这种新型bqTINYⅡ充电器集成了一个反向阻断保护电路,用以防止电池的电能在没有DC供电时被耗尽。其他的集成功能还包括电压和电流调节、用于预充电和快速充电期的安全定时器、至发光二极管(LED)或一个微控制器的充电状态输出、温度检测和充电终止。 根据原电池制造商的要求,bqTINYⅡ器件分三个阶段对电池进行充电:即预充电调节、恒流和精确恒压。该算法缩短了充电时间、实现了总电荷量的最大化并可防止电池遭受热和电损坏。当电池电压降至一个内部规定的最低限度时,该充电器重新起动;当两个电源均被移去后,该充电器进入一个低功耗的睡眠模式。这种独特的深睡眠功能可防止电池的电能在无输入功率期间被耗尽。 TI及其授权分销商目前可批量供应bqTINYⅡ集成电路。所有的bqTINY和bqTINYⅡ器件均采用10引脚的3mm×3mm QFN封装。

    嵌入式软件 USB pda QT

  • TI高集成度UMTS芯片组及参考设计

    德州仪器公司 (TI) 推出新型、高集成度的四芯片双模 TCS4105 UMTS 芯片组及参考设计,UMTS 手持终端与无线 PDA 制造商不久将会享受到巨大的设计优势。TCS4105 芯片组是 TI TCS系列终端芯片组解决方案的最新产品,由此凭借TI 在 GSM/GPRS 领域卓越的领导能力,将能够推出汇集了语音与多媒体功能的 3G 移动终端,该终端拥有更低的材料清单 (BOM) 成本、更长的待机时间,并可支持 WCDMA 与 GSM/GPRS 功能。 为全力支持即将到来的新型 3G 无线业务潮流,TCS4105 UMTS 芯片组可与 TI OMAP? 应用处理器之一的新型 OMAP1610 处理器等进行配合,以支持丰富的 3G 多媒体应用,如生动的影像与视频、电视会议、互动 3D 游戏与娱乐、定位服务、 高端立体声音乐、复调音频 以及其它各种应用。TI 的 OMAP1610 处理器还支持诸如 Microsoft 的 Windows CE、PalmOS、Symbian OS 以及 Linux? 等高级移动操作系统。此外,OMAP1610 处理器也提供 Java 硬件加速、更高的图形性能、集成的安全性功能以及增强型外设。正如TI所有的芯片组解决方案及 OMAP 处理器一样,该 TCS4105 与 OMAP1610 由领先的无线软件应用开发商组成的 OMAP 开发商网络提供支持。 TCS4105 芯片组中的 TBB4105 数字基带处理器可支持速率高达384kbps 的 WCDMA 以及Class 12 GSM/GPRS。该器件还采用 TI 高性能、低功耗的数字信号处理器 (DSP)、TMS320C55x? 及 ARM926 处理器。TCS4105 芯片组的模拟基带处理器 TWL3024 可将完整芯片组与应用处理器的模拟与电源管理功能集成到同一个器件中,从而降低了板级要求、减少了芯片数目及开发成本。TWL3024 还采用 TI 的创新型电源管理系统,通过分化系统并在必要时将部分手持终端置于低功耗待机模式,可极大降低功耗。利用该电源管理系统,可显著延长采用 TCS4105 与 OMAP1610 处理器 3G 移动终端的电池寿命,从而在不影响高性能应用的情况下将待机时间由现有解决方案延长两倍。 两芯片射频 (RF) 收发器子系统支持 TCS4105 芯片组的双模 GSM/GPRS 与 WCDMA 功能。GSM/GPRS 收发器 TRF6151 与 WCDMA 收发器 TRF6301 均采用先进的直接转换 (DC) 技术,并可集成诸如 VCO、LNA、PLL 环路滤波器及合成器等多个外部器件。 与早期的 3G 手持终端相比,这种更高级的总体系统集成度可将制造商的部件数减少约 30%。该芯片组的可编程性符合 UMTS Release 99版本的 3GPP规范,能确保具有高度的灵活性,以便基于 TCS4105 的平台可快速适应日新月异的 3GPP 要求。 TI 可为传统的无线通信器件及高性能多媒体产品提供灵活、可扩展的解决方案。TCS4105 芯片组将包括 TI 丰富的、经过全面测试与验证的嵌入式无线软件集,它集成了完整的 UMTS 协议栈及生产与测试工具。TCS4105 芯片组还进行了精心优化,以便补充诸如新型 OMAP1610 处理器的 TI OMAP 系列应用处理器,从而为高级多媒体特性与功能性提供了低功耗处理性能。配备 OMAP1610 应用处理器、基于 TCS4105 的手持终端能在平稳地提供业界极低功耗的同时,还具有针对 3G 应用的优越处理性能,如电视会议、立体声音乐、多媒体信息发送服务 (MMS)、生动的彩色屏幕、静止相机以及其它众多极具吸引力的服务。 具有高制造质量的 TCS4105 UMTS 芯片组参考设计将经过全面验证。该参考设计将包括完整的材料清单、功能丰富的通信与多媒体软件套件以及主板设计与规划。双模 UMTS 设计将把 TCS4105 芯片组与高性能 OMAP 应用处理器进行完美集成,因而可支持领先的移动操作系统,并能实现诸如电视会议、音频与视频流以及 MMS 等多媒体应用。此外,TCS4105 参考设计还将充分利用快速增长的 OMAP 开发商网络,因此可确保稳步推出创新型无线应用系列。在其参考设计的支持方面,TI 可提供业界最佳的全球客户支持以便全方位协助大规模生产的进行,从而为手持终端制造商显著缩短了上市时间。 TCS4105 UMTS 开发芯片组自 2002 年第二季度已开始供货。TCS4105 商业样片计划于2003 年第三季度上市,芯片组与软件的全规模生产计划将于2004年上半年进行,参考设计将紧随其后。

    嵌入式软件 umts 高集 成度 Linux

  • TI高集成度UMTS芯片组及参考设计

    德州仪器公司 (TI) 推出新型、高集成度的四芯片双模 TCS4105 UMTS 芯片组及参考设计,UMTS 手持终端与无线 PDA 制造商不久将会享受到巨大的设计优势。TCS4105 芯片组是 TI TCS系列终端芯片组解决方案的最新产品,由此凭借TI 在 GSM/GPRS 领域卓越的领导能力,将能够推出汇集了语音与多媒体功能的 3G 移动终端,该终端拥有更低的材料清单 (BOM) 成本、更长的待机时间,并可支持 WCDMA 与 GSM/GPRS 功能。 为全力支持即将到来的新型 3G 无线业务潮流,TCS4105 UMTS 芯片组可与 TI OMAP? 应用处理器之一的新型 OMAP1610 处理器等进行配合,以支持丰富的 3G 多媒体应用,如生动的影像与视频、电视会议、互动 3D 游戏与娱乐、定位服务、 高端立体声音乐、复调音频 以及其它各种应用。TI 的 OMAP1610 处理器还支持诸如 Microsoft 的 Windows CE、PalmOS、Symbian OS 以及 Linux? 等高级移动操作系统。此外,OMAP1610 处理器也提供 Java 硬件加速、更高的图形性能、集成的安全性功能以及增强型外设。正如TI所有的芯片组解决方案及 OMAP 处理器一样,该 TCS4105 与 OMAP1610 由领先的无线软件应用开发商组成的 OMAP 开发商网络提供支持。 TCS4105 芯片组中的 TBB4105 数字基带处理器可支持速率高达384kbps 的 WCDMA 以及Class 12 GSM/GPRS。该器件还采用 TI 高性能、低功耗的数字信号处理器 (DSP)、TMS320C55x? 及 ARM926 处理器。TCS4105 芯片组的模拟基带处理器 TWL3024 可将完整芯片组与应用处理器的模拟与电源管理功能集成到同一个器件中,从而降低了板级要求、减少了芯片数目及开发成本。TWL3024 还采用 TI 的创新型电源管理系统,通过分化系统并在必要时将部分手持终端置于低功耗待机模式,可极大降低功耗。利用该电源管理系统,可显著延长采用 TCS4105 与 OMAP1610 处理器 3G 移动终端的电池寿命,从而在不影响高性能应用的情况下将待机时间由现有解决方案延长两倍。 两芯片射频 (RF) 收发器子系统支持 TCS4105 芯片组的双模 GSM/GPRS 与 WCDMA 功能。GSM/GPRS 收发器 TRF6151 与 WCDMA 收发器 TRF6301 均采用先进的直接转换 (DC) 技术,并可集成诸如 VCO、LNA、PLL 环路滤波器及合成器等多个外部器件。 与早期的 3G 手持终端相比,这种更高级的总体系统集成度可将制造商的部件数减少约 30%。该芯片组的可编程性符合 UMTS Release 99版本的 3GPP规范,能确保具有高度的灵活性,以便基于 TCS4105 的平台可快速适应日新月异的 3GPP 要求。 TI 可为传统的无线通信器件及高性能多媒体产品提供灵活、可扩展的解决方案。TCS4105 芯片组将包括 TI 丰富的、经过全面测试与验证的嵌入式无线软件集,它集成了完整的 UMTS 协议栈及生产与测试工具。TCS4105 芯片组还进行了精心优化,以便补充诸如新型 OMAP1610 处理器的 TI OMAP 系列应用处理器,从而为高级多媒体特性与功能性提供了低功耗处理性能。配备 OMAP1610 应用处理器、基于 TCS4105 的手持终端能在平稳地提供业界极低功耗的同时,还具有针对 3G 应用的优越处理性能,如电视会议、立体声音乐、多媒体信息发送服务 (MMS)、生动的彩色屏幕、静止相机以及其它众多极具吸引力的服务。 具有高制造质量的 TCS4105 UMTS 芯片组参考设计将经过全面验证。该参考设计将包括完整的材料清单、功能丰富的通信与多媒体软件套件以及主板设计与规划。双模 UMTS 设计将把 TCS4105 芯片组与高性能 OMAP 应用处理器进行完美集成,因而可支持领先的移动操作系统,并能实现诸如电视会议、音频与视频流以及 MMS 等多媒体应用。此外,TCS4105 参考设计还将充分利用快速增长的 OMAP 开发商网络,因此可确保稳步推出创新型无线应用系列。在其参考设计的支持方面,TI 可提供业界最佳的全球客户支持以便全方位协助大规模生产的进行,从而为手持终端制造商显著缩短了上市时间。 TCS4105 UMTS 开发芯片组自 2002 年第二季度已开始供货。TCS4105 商业样片计划于2003 年第三季度上市,芯片组与软件的全规模生产计划将于2004年上半年进行,参考设计将紧随其后。

    嵌入式软件 Symbian umts 高集 成度

发布文章