当前位置:首页 > ARM
  • 基于ARM9芯片的S3C2440和Linux操作系统设计SPI驱动程序

    基于ARM9芯片的S3C2440和Linux操作系统设计SPI驱动程序

    在嵌入式开发过程中,许多系统通常使用串口驱动来满足通信要求,但在实际应用中,使用SPI通信方式会更加高效和快捷[2]。SPI接口是一种高速、高效的串行接口技术,因而SPI设备在数据通信应用中十分方便[3]。本文基于ARM9芯片的S3C2440和Linux操作系统,设计了一种SPI驱动程序,该驱动程序功能可靠灵活、易于移植,可应用于多种嵌入式平台,实现ARM与设备之间的通信。 1硬件说明 1.1S3C2440开发平台 1.2SPI硬件模块 S3C2440具有两个SPI,每个SPI具有两个8位移位寄存器用于独立地发送和接收数据,并兼容SPIver.2.11协议,支持8位逻辑预分频,系统可用polling、中断、DMA三种方式判断SPI发送及接收状态。此SPI模块共包含以下信号线[5]: (1)SCK:数据同步时钟信号,由主设备驱动,向从设备输出,使得从设备按照同步时钟的步调来接收或发送数据。 (2)nCS(由用户指定GPIO):从设备选择信号线(SlaveSelect,SS)由主设备发出,用来选择激活某个从设备,低电平有效。 (3)MISO(SPIMISO0):主入从出信号线,表示该信号在主设备中作为输入,在从设备中作为输出。 (4)MOSI(SPIMOSI0):主出从入信号线,表示该信号在主设备中作为输出,在从设备中作为输入。 (5)/SS(nSS):多主错误检测。 2Linux下的SPI设备驱动程序设计 Linux设备驱动在Linux内核中扮演着重要的角色。它可使某些特定硬件响应一个定义良好的内部编程接口,这些接口完全隐藏了设备工作的细节。用户操作可通过一组标准化的调用来执行,这些调用在形式上完全独立于特定的驱动程序,而将这些调用映射到实际硬件设备的特有操作上,则是驱动程序的任务[6]。本设计的SPI驱动主要定义了初始化、读和写三个操作。其中初始化操作用于驱动程序第一次加载到内核运行时,对一些内核机制及存储器进行初始化。写操作负责将用户数据拷贝至内核缓冲区,控制本地主SPI发送数据至从SPI寄存器中。读操作将按照用户要求读取的字节数,连续读取本地主SPI中接收到的数据,并将其拷贝至用户空间。驱动程序将采用中断的方式通知系统SPI数据是否发送完毕,即当SPI硬件模块每发送完毕一个数据,都会通过中断线向系统发起中断,系统响应中断后,驱动程序将调用中断处理例程。 2.1SPI初始化 (1)申请中断。此驱动设计通过中断判断数据是否发送完毕,所以需要申请SPI0相关的中断,并注册相应的中断处理函数。此驱动程序的中断处理函数声明如下: staTIcirqreturn_ts3c2440_isr_spi(inTIrq,void*dev_id,structpt_regs*reg) 利用request_irq向内核申请中断号并注册中断处理函数: request_irq(IRQ_SPI0,s3c2440_isr_spi,SA_INTERRUPT,DEVICE_NAME,s3c2440_isr_spi); (2)虚拟地址映射。驱动程序可以直接通过访问内核中的虚拟地址来访问设备物理地址所对应的寄存器,对其进行操作。SPI设备的地址映射过程如下: request_mem_region(S3C2440_PA_SPI,0x30,“s3c2440-spi”); base_addr=ioremap(S3C2440_PA_SPI,0x30); 其中S3C2440_PA_SPI为SPI的物理地址(在/asm-arch/arch-s3c2440/map.h中定义),从S3C2440_PA_SPI开始分配0x30大小的内存区域,此后将其移至内核空间。 (3)相关寄存器的设置。通过配置SPI功能寄存器设置SPI工作模式。以ioremap返回的虚拟地址为基址,通过增加不同偏移量访问相应寄存器。本次设计将本地SPI设为主设备,开启SCK信号使能,设定CPOL和CPHA均为0,SPI工作在普通模式下。设置波特率预分频寄存器(SPPRE)中的分频比为8。具体设计如下: __raw_writel((S3C2440_SPCON_SMOD_INT|S3C2440_SPCON_ENSCK|S3C2440_SPCON_MSTR),s3c2440_SPCON); DPRINTK(DEVICE_NAME“SPCONiniTIalizen”); __raw_writel((S3C2440_SPPIN_ENMUL|S3C2440_SPPIN_KEEP),s3c2440_SPPIN); DPRINTK(DEVICE_NAME“SPPINiniTIalizen”); __raw_writel(0x07,s3c2440_SPPRE); DPRINTK(DEVICE_NAME“SPPREinitializen”); (4)初始化发送和接收数据缓冲区。数据缓冲区使用环形缓冲区结构,通过头尾指针的循环移动,实现对缓冲区的动态管理。其定义如下: typedefstruct { spi_bufbuf[MAX_SPI_BUF]; unsignedinthead,tail; wait_queue_head_twq; }SPI_BUF;staticSPI_BUFspi_Tx_buf;staticSPI_BUFspi_Rec_buf; 其中spi_buf表示char型,MAX_SPI_BUF为缓冲区大小,设为1024B。head、tail分别表示头尾数组下标,wq为等待队列头。此结构依靠以下宏进行管理: #defineSPI_Tx_BUF_HEAD(spi_Tx_buf.buf[spi_Tx_buf.head]) #defineSPI_Tx_BUF_TAIL(spi_Tx_buf.buf[spi_Tx_buf.tail]) #defineINCBUF(x,mod)((++(x))&((mod)-1)) 前两个宏用于引用缓冲区中的元素,最后一个宏用于对头尾下标进行前移,并保证头尾下标数值可循环变化,不发生溢出。 在初始化时,分别对接收和发送缓冲区的头尾指针进行清零操作,具体如下: spi_Tx_buf.head=spi_Tx_buf.tail=0;spi_Rec_buf.head=spi_Rec_buf.tail=0; (5)内核机制相关的数据结构初始化。本设计所使用的内核机制包括了中断上下半部的操作和睡眠等待机制,因此需要对发送、接收等待队列以及tasklet结构进行初始化,并注册tasklet处理函数。初始化过程如下: init_waitqueue_head(&(spi_Tx_buf.wq)); init_waitqueue_head(&(spi_Rec_buf.wq)); tasklet_init(&spi_tasklet,spi_tasklet_handler,data); (6)初始化相应端口。根据S3C2440外部管脚配置,将与SPI功能引脚复用的GPIO设定为SPI相应功能。具体操作如下: s3c2440_gpio_cfgpin (S3C2440_GPE11,S3C2440_GPE11_SPIMISO0); s3c2440_gpio_cfgpin (S3C2440_GPE12,S3C2440_GPE12_SPIMOSI0); s3c2440_gpio_cfgpin (S3C2440_GPE13,S3C2440_GPE13_SPICLK0); s3c2440_gpio_cfgpin (S3C2440_GPG2,S3C2440_GPG2_INP);//设置nSS s3c2440_gpio_cfgpin(S3C2440_GPB10, S3C2440_GPB10_OUTP);//设置片选信号 s3c2440_gpio_setpin(S3C2440_GPB10,1); 2.2SPI写操作 写操作主要是将上层应用部分的用户空间中的数据拷贝到内核空间中的环形缓冲区中,此后将缓冲区的数据送到SPI发送寄存器中,在SPI发送完一个数据后,系统产生中断,中断例程中的下半部将调用tasklet判断缓冲区状态。若缓冲区中有相应的空间,可以将下一数据填入SPI发送寄存器中,直至将缓冲区数据全部发送完毕。 本设计的写操作实现了环形缓冲区的动态管理,即在缓冲区删除数据、尾指针前移的情况下,允许向缓冲区添加数据,头指针前移。此设计可以使用户空间任务与内核空间的数据发送同时进行,提高了用户空间任务执行效率,并且当利用copy_from_user函数将数据从用户空间拷贝至内核空间时,数据发送仍在进行,即数据从用户空间至内核空间拷贝过程与数据发送过程并发,提高了驱动程序效率。 为了实现环形缓冲区动态管理,定义了copy_to_Tx_buf_init和copy_to_Tx_buf两个函数完成数据向缓冲区的复制操作。 (1)copy_to_Tx_buf_init函数。本函数主要用于两种情况: ①如果缓冲区为空,当有一组数据到来且此数据的大小小于缓冲区的空间大小时,直接将此数据放到缓冲区中。 ②如果发送数据的大小大于剩余缓冲区的空间,则只复制缓冲区大小的数据到缓冲区。 缓冲区满,该进程进行睡眠操作,直到缓冲区所有数据发送完毕,缓冲区再次为空,当前进程被唤醒,将此组用户数据的未发送部分复制到缓冲区,继续发送。 (2)copy_to_Tx_buf函数。此函数主要用于缓冲区正在发送且未发送完毕的情况,将新一组用户数据copy至缓冲区。首先计算缓冲区剩余空间,若剩余空间大于本组用户数据大小,则直接将用户数据全部copy至缓冲区;若剩余空间小于本组数据大小,则copy与剩余空间大小相同的用户数据至缓冲区。 写操作的具体流程如图1所示,首先用户数据从空间态转换到内核态,并设置相应的接收标志位。此后判断数据大小。若数据大于缓冲区空间,数据发生溢出,写操作结束;若没有溢出,为了保证进程间的数据,使得该进程获得自旋锁,此时判断缓冲区是否为空。根据上面两个函数的介绍,在不同情况下分别调用不同的函数,在数据写入环形缓冲区后,将数据发送到SPI的发送寄存器。当SPI发送寄存器发送数据时,环形缓冲区依旧接收数据,如果此时缓冲区为满,则释放自旋锁,并设置进程等待标志位(wait_Tx_done),将此进程休眠,直到发送寄存器中的数据发送完毕,再唤醒进程,判断数据是否全部发送完毕。若仍有数据等待发送,则调用copy_to_Tx_buf_int;若数据已全部发送完毕,则写操作结束。若缓冲区不为满,则判断数据是否发送完毕。数据全部发送完毕,发送操作结束。 2.3SPI读操作 读操作是连续读取主SPI发送到从SPI的接收缓冲区中的数据,并将其传送给用户空间。具体流程如图2所示。首先判断操作标志位spi_Rec_en,若此位为0,说明此时驱动正处于发送状态,则将发送进程等待标志位(wait_Tx_done)置1,读进程进入休眠状态即放入等待队列中,等待中断处理函数中相关发送程序唤醒。若操作标志位不为1,读进程首先获得自旋锁,判断数据大小。若数据大小不为0且不超过缓冲区大小,则按照S3C2440接收数据的要求,向SPI发送寄存器写入第一个dummy数据(0xff)。此后,将接收进程等待标志位(wait_Rec_done)置1,释放自旋锁,并将此进程加入等待队列进行休眠,直到用户要求的所有数据已发送至接收缓冲区后,由中断处理函数唤醒该进程,最后将接收区中的数据放到临时接收缓存中,以便于其他操作读取。 3SPI驱动程序测试 SPI驱动程序主要通过调用写操作,使SPI连续发送数据0x55,此后再调用SPI读操作,将MISO上的串行数据读入用户缓冲区,并与实际数据进行比较。图3为示波器测试MOSI引脚波形。图中波形1为SCK信号,ARM系统时钟为40MHz,SPI的SCK信号为系统时钟的256分频,约为156kHz;波形2为MOSI信号,SPI从低位向高位串行移位。通过波形可以看出,SPI驱动能够准确地完成读写操作,验证了其正确性。

    时间:2021-04-15 关键词: S3C2440 SPI arm9 Linux ARM

  • 重磅!NVIDIA发布自主CPU

    重磅!NVIDIA发布自主CPU

    在普遍认知中,NVIDIA是一家生产显卡的公司。实际上,除了GPU,NVIDIA在CPU的“野心”从未停止过。 昨夜,GTC 2021开发者大会如期召开,似乎碍于“缺芯少货”的老黄,容貌又增添几分沧桑。 而这次,黄仁勋重磅宣布了NVIDIA的三款基于Arm IP的处理器产品,涉及了CPU、DPU、SoC三个领域。 1、全新CPU处理器,代号为“Grace”。据了解,该Grace取自Grace Hopper——格蕾丝·霍珀女士,她是计算机史上最早的程序员之一,也是编译语言之母,领导开发了编程语言Cobol。 颇为有趣的是,此前传闻称Ampere GPU架构的继任者代号是Grace Hopper,看来搞错了方向。 NVIDIA Grace处理器基于ARM Neoverse架构,目前具体参数细节还未公开,它主要面向超大规模AI人工智能、HPC高性能计算,最大特点就是海量的带宽。 该处理器计划2023年正式推出,2025年还会有下一代。值得一提的是,该款处理器还会继续支持x86架构,未来将坚持x86、ARM两条路线并行。 2、数据处理单元DPU早前便已是黄仁勋所强调的东西,频繁出现在老黄口头上。实际上,他认为CPU+GPU+DPU将撑起计算的未来一片天。本次宣布代号为“BlueField-3”的DPU将拥有200亿晶体管,采用16个Arm A78 CPU核心、18M IOPs弹性块存储。不仅能够向下兼容前一代产品,还拥有4倍的性能。 这款产品预计将于2022年第一季度发布样品。除此之外,老黄还画了个大饼,BlueField-4 DPU将包含640个晶体管,算力甚至可以达1000TOPS,网络速率高达800Gbps。 3、NVIDIA死磕汽车市场不是一天两天了,而这次NIVIDIA也真的决定将“计算三巨头GPU+CPU+DPU”整合在一块SoC上了。这个代号为“NVIDIA DRIVE Atlan”的平台将首次集成DPU,达到1000TOPS的超强算力,如此强劲算力的SoC将被应用在2025的汽车之中。 通过本次产品发布不难看出,NVIDIA的新产品均“染指”Arm IP。众所周知,去年9月份,NVIDIA官方宣布,计划以400亿美元收购Arm。一直有着CPU梦想的NVIDIA,真的很需要Arm,甚至早些年还试图通过Tegra系列染指智能手机。 不过,这一交易自从宣布以来就饱受争议,不少半导体企业、行业名人纷纷表示反对,甚至连ARM联合创始人Hermann Hauser更是多次表达不满,都担心由此引发难以控制的反垄断问题。 此前,在黄仁勋接受采访时,他透露,“通过将ARM收入麾下,我们将增加客户选择,增加市场创新。我们的评估显示,监管机构很快就会批准这笔交易。”他认为,Arm的架构任何人可以使用,这与NVIDIA非常相似,他表示两家企业对于架构的态度都有着相似的态度。 在数据中心市场争夺战日趋激烈的如今,或许巨头吞并才是“正道”,不过市场的垄断性增强无疑会惹来众怒。除了NVIDIA,专注于抢占数据中心“外滩”的三家巨头AMD、Intel、NVIDIA走的均为不同的策略,AMD看好FPGA,Intel则脚踏实地发挥自己长处并拉上外援,NVIDIA则看好CPU和DPU。拥有CPU或者能够成功拿下的Arm的NVIDIA将会多强,这需要市场进一步的印证。

    时间:2021-04-13 关键词: NVIDIA ARM

  • ARM开发:一 ARM微处理器概述

    ARM开发:一 ARM微处理器概述

    1.1ARM-Advanced RISC Machines ARM(Advanced RISC Machines),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。 1991年ARM公司成立于英国剑桥,主要出售芯片设计技术的授权。目前,采用ARM技术知识产权(IP)核的微处理器,即我们通常所说的ARM微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM技术的微处理器应用约占据了32位RISC微处理器75%以上的市场份额,ARM技术正在逐步渗入到我们生活的各个方面。 ARM公司是专门从事基于RISC技术芯片设计开发的公司,作为知识产权供应商,本身不直接从事芯片生产,靠转让设计许可由合作公司生产各具特色的芯片,世界各大半导体生产商从ARM公司购买其设计的ARM微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的ARM微处理器芯片进入市场。目前,全世界有几十家大的半导体公司都使用ARM公司的授权,因此既使得ARM技术获得更多的第三方工具、制造、软件的支持,又使整个系统成本降低,使产品更容易进入市场被消费者所接受,更具有竞争力。 1.2 ARM微处理器的应用领域及特点 1.2.1 ARM微处理器的应用领域 到目前为止,ARM微处理器及技术的应用几乎已经深入到各个领域: 1、工业控制领域:作为32的RISC架构,基于ARM核的微控制器芯片不但占据了高端微控制器市场的大部分市场份额,同时也逐渐向低端微控制器应用领域扩展,ARM微控制器的低功耗、高性价比,向传统的8位/16位微控制器提出了挑战。 2、无线通讯领域:目前已有超过85%的无线通讯设备采用了ARM技术, ARM以其高性能和低成本,在该领域的地位日益巩固。 3、网络应用:随着宽带技术的推广,采用ARM技术的ADSL芯片正逐步获得竞争优势。此外,ARM在语音及视频处理上行了优化,并获得广泛支持,也对DSP的应用领域提出了挑战。 4、消费类电子产品:ARM技术在目前流行的数字音频播放器、数字机顶盒和游戏机中得到广泛采用。 5、成像和安全产品:现在流行的数码相机和打印机中绝大部分采用ARM技术。手机中的32位SIM智能卡也采用了ARM技术。 除此以外,ARM微处理器及技术还应用到许多不同的领域,并会在将来取得更加广泛的应用。 1.2.2 ARM微处理器的特点 采用RISC架构的ARM微处理器一般具有如下特点: 1、体积小、低功耗、低成本、高性能; 2、支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件; 3、大量使用寄存器,指令执行速度更快; 4、大多数数据操作都在寄存器中完成; 5、寻址方式灵活简单,执行效率高; 6、指令长度固定; 1.3 ARM微处理器系列 ARM微处理器目前包括下面几个系列,以及其它厂商基于ARM体系结构的处理器,除了具有ARM体系结构的共同特点以外,每一个系列的ARM微处理器都有各自的特点和应用领域。 - ARM7系列 - ARM9系列 - ARM9E系列 - ARM10E系列 - SecurCore系列 - Inter的Xscale - Inter的StrongARM 其中,ARM7、ARM9、ARM9E和ARM10为4个通用处理器系列,每一个系列提供一套相对独特的性能来满足不同应用领域的需求。SecurCore系列专门为安全要求较高的应用而设计。 以下我们来详细了解一下各种处理器的特点及应用领域。 1.3.1 ARM7微处理器系列 ARM7系列微处理器为低功耗的32位RISC处理器,最适合用于对价位和功耗要求较高的消费类应用。ARM7微处理器系列具有如下特点: - 具有嵌入式ICE-RT逻辑,调试开发方便。 - 极低的功耗,适合对功耗要求较高的应用,如便携式产品。 - 能够提供0.9MIPS/MHz的三级流水线结构。 - 代码密度高并兼容16位的Thumb指令集。 - 对操作系统的支持广泛,包括Windows CE、Linux、Palm OS等。 - 指令系统与ARM9系列、ARM9E系列和ARM10E系列兼容,便于用户的产品升级换代。 - 主频最高可达130MIPS,高速的运算处理能力能胜任绝大多数的复杂应用。 ARM7系列微处理器的主要应用领域为:工业控制、Internet设备、网络和调制解调器设备、移动电话等多种多媒体和嵌入式应用。 ARM7系列微处理器包括如下几种类型的核:ARM7TDMI、ARM7TDMI-S、 ARM720T、ARM7EJ。其中,ARM7TMDI是目前使用最广泛的32位嵌入式RISC处理器,属低端ARM处理器核。TDMI的基本含义为: T: 支持16为压缩指令集Thumb; D: 支持片上Debug; M:内嵌硬件乘法器(Multiplier) I: 嵌入式ICE,支持片上断点和调试点; 本书所介绍的Samsung公司的S3C4510B即属于该系列的处理器。 1.3.2 ARM9微处理器系列 ARM9系列微处理器在高性能和低功耗特性方面提供最佳的性能。具有以下特点: - 5级整数流水线,指令执行效率更高。 - 提供1.1MIPS/MHz的哈佛结构。 - 支持32位ARM指令集和16位Thumb指令集。 - 支持32位的高速AMBA总线接口。 - 全性能的MMU,支持Windows CE、Linux、Palm OS等多种主流嵌入式操作系统。 - MPU支持实时操作系统。 - 支持数据Cache和指令Cache,具有更高的指令和数据处理能力。 ARM9系列微处理器主要应用于无线设备、仪器仪表、安全系统、机顶盒、高端打印机、数字照相机和数字摄像机等。 ARM9系列微处理器包含ARM920T、ARM922T和ARM940T三种类型,以适用于不同的应用场合。 1.3.3 ARM9E微处理器系列 ARM9E系列微处理器为可综合处理器,使用单一的处理器内核提供了微控制器、DSP、Java应用系统的解决方案,极大的减少了芯片的面积和系统的复杂程度。ARM9E系列微处理器提供了增强的DSP处理能力,很适合于那些需要同时使用DSP和微控制器的应用场合。 ARM9E系列微处理器的主要特点如下: - 支持DSP指令集,适合于需要高速数字信号处理的场合。 - 5级整数流水线,指令执行效率更高。 - 支持32位ARM指令集和16位Thumb指令集。 - 支持32位的高速AMBA总线接口。 - 支持VFP9浮点处理协处理器。 - 全性能的MMU,支持Windows CE、Linux、Palm OS等多种主流嵌入式操作系统。 - MPU支持实时操作系统。 - 支持数据Cache和指令Cache,具有更高的指令和数据处理能力。 - 主频最高可达300MIPS。 ARM9系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、存储设备和网络设备等领域。 ARM9E系列微处理器包含ARM926EJ-S、ARM946E-S和ARM966E-S三种类型,以适用于不同的应用场合。 1.3.4 ARM10E微处理器系列 ARM10E系列微处理器具有高性能、低功耗的特点,由于采用了新的体系结构,与同等的ARM9器件相比较,在同样的时钟频率下,性能提高了近50%,同时,ARM10E系列微处理器采用了两种先进的节能方式,使其功耗极低。 ARM10E系列微处理器的主要特点如下: - 支持DSP指令集,适合于需要高速数字信号处理的场合。 - 6级整数流水线,指令执行效率更高。 - 支持32位ARM指令集和16位Thumb指令集。 - 支持32位的高速AMBA总线接口。 - 支持VFP10浮点处理协处理器。 - 全性能的MMU,支持Windows CE、Linux、Palm OS等多种主流嵌入式操作系统。 - 支持数据Cache和指令Cache,具有更高的指令和数据处理能力 - 主频最高可达400MIPS。 - 内嵌并行读/写操作部件。 ARM10E系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、通信和信息系统等领域。 ARM10E系列微处理器包含ARM1020E、ARM1022E和ARM1026EJ-S三种类型,以适用于不同的应用场合。 1.3.5 SecurCore微处理器系列 SecurCore系列微处理器专为安全需要而设计,提供了完善的32位RISC技术的安全解决方案,因此,SecurCore系列微处理器除了具有ARM体系结构的低功耗、高性能的特点外,还具有其独特的优势,即提供了对安全解决方案的支持。 SecurCore系列微处理器除了具有ARM体系结构各种主要特点外,还在系统安全方面具有如下的特点: - 带有灵活的保护单元,以确保操作系统和应用数据的安全。 - 采用软内核技术,防止外部对其进行扫描探测。 - 可集成用户自己的安全特性和其他协处理器。 SecurCore系列微处理器主要应用于一些对安全性要求较高的应用产品及应用系统,如电子商务、电子政务、电子银行业务、网络和认证系统等领域。 SecurCore系列微处理器包含SecurCore SC100、SecurCore SC110、SecurCore SC200和SecurCore SC210四种类型,以适用于不同的应用场合。 1.3.6 StrongARM微处理器系列 Inter StrongARM SA-1100处理器是采用ARM体系结构高度集成的32位RISC微处理器。它融合了Inter公司的设计和处理技术以及ARM体系结构的电源效率,采用在软件上兼容ARMv4体系结构、同时采用具有Intel技术优点的体系结构。 Intel StrongARM处理器是便携式通讯产品和消费类电子产品的理想选择,已成功应用于多家公司的掌上电脑系列产品。 1.3.7 Xscale处理器 Xscale 处理器是基于ARMv5TE体系结构的解决方案,是一款全性能、高性价比、低功耗的处理器。它支持16位的Thumb指令和DSP指令集,已使用在数字移动电话、个人数字助理和网络产品等场合。

    时间:2021-04-12 关键词: 微处理器 概述 ARM

  • 突发!Arm中国控制权之争再升级

    突发!Arm中国控制权之争再升级

    据彭博社报道,北京时间4月10日消息,Arm中国(安谋中国)的控制权之争正在升级。现在,Arm中国发起了一场新的诉讼,旨在将Arm中国控制权保留在现任CEO吴雄昂手中。新发起的诉讼案件同时也会让软银集团将Arm业务出售给英伟达的交易变得更加复杂。 Arm中国控制权之争 Arm中国控制权之争最早于2020年6月被报道,当时,Arm中国董事会投票决定以利益冲突为由免职Arm中国CEO吴雄昂,但是吴雄昂拒绝离开并解雇了由Arm中国董事会指定来取代吴雄昂的三位高管,包括联合CEO Phil Tang。 随后,这三名高管被董事会恢复了职务。据有关人士透露,在新的诉讼中,Arm 中国正在起诉这三人,要求他们归还公司财产。 业内人士指出,这一此前未被报道的诉讼可能需要花费多年时间才能解决,显示出吴雄昂在公司的地位可能依旧牢固。 其中一位知情人士表示,预计将在五月下旬举行针对三名高管的听证会。另外,Arm 中国的两名少数股东在深圳对这家中国实体提起诉讼,要求撤销董事会罢免吴的决定。知情人士说,这两起案件目前正在合并,听证会定于4月底举行。 Arm 中国与Arm中国董事会目前的交流似乎仍处于僵局。这位知情人士说,吴雄昂拒绝了签署价值数千万美元的和解协议。 目前,Arm 中国拒绝就任何正在进行的法律案件或可能的和解谈判发表评论。截止发稿,Phil Tang也未回复置评。 会否影响英伟达收购Arm? 这场诉讼无疑将孙正义以400亿美元将Arm业务出售给英伟达的交易变得更加复杂。据了解,目前,吴雄昂仍管理着Arm中国的日常运营工作,并掌管着该公司的印章,对公司业务仍具有合法控制权。这或也使得吴雄昂成为英伟达收购交易的一个主要障碍。 据此前新浪科技报道,英伟达宣布计划以400亿美元收购英国芯片设计公司Arm。但Arm中国控制权之争使得这笔交易在中国面临着新的难题。报道称,Arm的中国合资公司首席执行官吴雄昂(Allen Wu)持有该合资公司17%的股份。根据公司注册文件,吴雄昂于2019年11月接手了一家关键投资公司,目前控制着Arm中国六分之四的股东。 2020年11月,一名熟悉Arm中国董事会的知情人士说,他认为这笔交易的成功率只有50%。另外两名知情人士透露,Arm的当前所有者日本的软银集团已任命软银在中国团队的主管Eric Chen负责协调吴雄昂的退出事宜。从最新的情况来看,这笔谈判暂时未获得和解。 且吴雄昂持有的16.6%的股份价值一直是问题症结所在。吴雄昂认为,自2018年成立以来,Arm中国的价值已经增长五倍,至今天的500亿元人民币(75亿美元)。目前尚不清楚,吴雄昂是打算持有还是出售这些股份,以及是否有适合Arm、厚朴和中国政府的买家。双方仍在调停阶段,并且也有可能达成协议。熟悉软银和厚朴的知情人士则表示,谈判可能会一直拖延。 但孙正义在今年2月份就对投资者表示,他预计将完成Arm的出售,并表示没有任何B计划。 从当前最新情况来看,Arm中国控制权之争依旧矛盾重重,新的诉讼或给Arm的出售带来新变数。 免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

    时间:2021-04-12 关键词: Arm中国 ARM

  • 必须否决! NVIDIA 400亿美元收购ARM全球受阻?

    必须否决! NVIDIA 400亿美元收购ARM全球受阻?

    去年9月份,NVIDIA宣布斥资400亿美元收购ARM公司,这不仅是近年来半导体收购交易金额最多的,同时也是影响最深远的。 ARM是全球最大的CPU IP授权之一,在嵌入式、移动处理器市场拥有垄断性优势,近年来还在积极扩展PC及服务器市场,客户涉及苹果、高通、谷歌、微软、华为、三星等等,影响力极大。 正因为太重要,所以NVIDIA收购ARM一事在不同国家、不同公司之间都引发了争议,苹果、高通等公司都表示反对,各国的审批监管也是个问题。 如今收购交易已经宣布半年多了,NVIDIA收购ARM一事还没有多少消息,今年2月份的财报会上NVIDIA CEO黄仁勋表示进展良好,但没有公布细节。 国内芯片厂商可以松口气了,不用担心“倒闭”了,因为英伟达收购ARM的计划要泡汤了,他们出现内讧。之前就说过,如果没有ARM的授权,国内绝大部分芯片厂商连一块蓝牙芯片设计不出,只有华为、阿里等少数企业有设计RISC-V机构芯片能力,现有的芯片厂商只能面临“破产” 英伟达今早发了一份亮点满满的财报,Q4营收首次冲上50亿美元大关,同比大涨61%,净利润也达到了14.57亿美元,同比大涨53%,业绩涨势非常好。 在这次财报会上,英伟达CEO黄仁勋也提到了ARM收购案的进展,去年9月份他们花了400亿美元收购ARM公司,后者是目前全球最大的移动CPU IP授权公司,收购之后有助于NVIDIA进一步整合数据中心、移动市场。 由于ARM公司在CPU授权市场上的影响力太大,英伟达收购ARM遭遇的阻力也很大,中国、美国、欧盟等主要市场上都面临着各种反对。 前不久高通、微软、谷歌联合起来反对该并购案,三家公司正向监管机构施压,表态他们担心收购会损害ARM的中立地位,影响其IP授权。 下周GTC 2021大会,NVIDIA CEO黄仁勋会发表主题演讲,业界预期他们会公布收购ARM一案的最新进展,特别是监管机构审批方面的情况。 然而,很多媒体及分析师对获得审批并不看好,除了美国、英国之外,中国市场上更加麻烦,他们认为审批获得通过的可能性并不大。 毫无疑问,这将是目前芯片行业最大规模的交易之一,从体量上来说可以与英伟达收购ARM这件事相提并论。 对于这项达到400亿美元的收购计划,外界却并不看好。ARM作为全球最大的CPU IP授权之一,在包括嵌入式、移动处理器等市场具有垄断性的优势,而且这些年来这家英国公司一直在积极扩展PC及服务器市场。 AMD 巨资收购赛灵思被业内认为将打造能与 Intel、英伟达“对抗”的数据中心处理器业务,因此也有人认为这意味着AMD与Intel、英伟达“决战”的开始。 2020年10月27 日,AMD 宣布斥资350 亿美元(约合 2350 亿元)收购赛灵思,该交易没有现金,全部使用AMD的股票。 此次合并后,苏姿丰博士将继续担任CEO,赛灵思CEO Victor Peng 将加入新公司担任总裁,并且至少两名赛灵思高管也将加入AMD的管理团队。 此外,它必须获得美国和英国监管机构的许可。据报道,这些监管机构已开始调查该交易。但是,如果交易顺利进行,它将看到一个更大的超级计算巨头的崛起,它将把Nvidia领先的AI计算平台和Arm广阔的生态系统融合在一起。 Nvidia的优势在于其核心芯片组技术。它专门生产GPU,GPU是众所周知的加速器,可通过给游戏等应用渲染图像。除此之外,它针对大批量和高速训练的AI进行了优化。Nvidia公司的竞争优势在于其长期专注于产品和软件开发,使其能够主宰市场与市场份额超过80%,这让他们领先于竞争对手AMD和其他竞争对手。去年,英伟达GPU部门的收入接近100亿美元。 而早在收购消息出来的时候,中国工程院士倪光南就表示国内有关部门会拒绝英伟达关于并购的请求,所以英伟达在面对中国市场这关会更难,来自我们的这票必须是否决。英伟达收购案不会只是遥遥无期,我们希望的是毫无机会。 为什么都是美公司,他们会反对该交易呢?原因很简单,高通绝大部分芯片采用ARM架构,微软、英特尔最新的AI芯片也使用ARM架构,而他们的主要竞争对手就是英伟达。所以英伟达一旦掌握ARM就有了卡他们脖子能力,并且还能了解他们最新芯片研发的进展以及芯片销量。

    时间:2021-04-11 关键词: NVIDIA 半导体 ARM

  • 华为也能用的Armv9,引发市场新的竞争力

    华为也能用的Armv9,引发市场新的竞争力

    Arm架构在如今的电子行业中可以说是无处不在。自1990年Arm公司正式成立Armv4架构到2011年Armv8架构,短短21年架构经过了5次重大升级。而Armv8意味着Arm正是从AArch32迈进AArch64,凭借强大的实力在过去的五年基于Arm架构的设备出货量超过了1000亿。 十年转瞬,Armv9架构终于露出庐山真面目,适用于Arm全系列芯片的Armv9架构,这次的升级瞄准的则是日益强大的安全、人工智能(AI)和无处不在的专用处理的需求。实际上,Armv9架构的推出也与正预示着行业的发展方向。凭借新架构,Arm提出了3000亿的目标。 Armv9的三个技术特性 根据Arm高级副总裁、首席架构师兼技术院士Richard Grisenthwaite的介绍,Armv9架构是基于Armv8既往成功的基础,并增添了针对矢量处理的DSP、机器学习ML、安全等这三个技术特性。 Armv8之所以“统治”市场十年之久,最大的升级点便是引入了64架构,即AArch64,这也是Arm版本升级最大的一次改变。除此之外,AArch64摒弃了此前的处理器模式、优先级级别等传统概念,提出了EL(Exception level),并在兼容设计上定义了两套运行环境ES(Execution state)。这些也都被Armv9所继承,可以说Armv9是集大成者,将Arm三十多年的核心完美继承下来。 矢量处理的DSP、机器学习ML处理能力提升要归功于可伸缩矢量扩展(SVE2)和矩阵乘法指令的引入。相比SVE的128位矢量,SVE2可以支持多倍128位运算,最多2048位,因此才有如此魔力可以增强对在CPU上本地运行的5G系统、虚拟和增强现实以及ML工作负载的处理能力。 根据Richard Grisenthwaite的介绍,SVE2增强多项DSP和机器学习ML处理能力,例如Scatter-Gather DMA直接存储器访问,把它放到CPU架构中,能实现更多的循环,更大的DSP处理能力,从而支持更多的并行化。 安全能力提升则主要是通过Arm推出的全新的机密计算架构CCA(Confidential Compute Architecture)实现,根据介绍CCA通过打造基于硬件的安全运行环境来执行计算,保护部分代码和数据,免于被存取或修改,甚至不受特权软件的影响。同时还将基于此前的TrustZone安全技术引入动态创建机密领域(Realms)的概念,机密领域面向所有应用,运行在独立于安全或非安全环境之外的环境中,以实现保护数据安全的目的。 Armv9在算力上的提升 提到架构的升级,就离不开算力这一个话题,Armv9架构能够为Arm后两代产品提供30%的性能提升。根据介绍,以智能手机等移动平台使用的Cortex-X/A系列为例,X1/A78这一代的性能相比16nm A72提升2.5倍,下一代的Matterhorn架构及Makalu架构会保持30%以上的IPC性能提升。 除了CPU性能以外,Armv9还非常重视整体的性能提升,包括降低内存延迟(从150ns降至90ns)、频率提升(从2.6GHz到3.3GHz)内存带宽(从20GB/s到60GB/s)、缓存等。 Richard Grisenthwaite强调,Arm在新一代架构Armv9上将保持这个速度,预计未来两代移动和基础设施CPU的性能提升将超过30%。,这个数据是根据业界标准评测工具来衡量的,而且这样30%的算力提升完全是凭借于本身的架构而不是借助于制程工艺来实现。 另外,随着摩尔定律正在放缓,如何进一步提升算力呢?他认为,Arm将通过最大化地提升频率、带宽、缓存大小、并减少内存延迟,以最大化CPU性能。 除了CPU,Arm还表示Mali GPU会增加更多高级功能,例如VRS可变帧率渲染、RT光线追踪及其他高级渲染技术等。 由Armv9引发的市场竞争力 实际上,在去年Arm发布Arm® Cortex®-M55处理器和Arm Ethos™-U55神经网络处理器(NPU)两款重磅“性能炸弹”时,就已开始蓄力发展人工智能(AI)。Cortex-M55是Arm历来AI能力最为强大的Cortex-M处理器,能够大幅提升DSP与ML的性能,同时更省电。 反观行业趋势,应用开始要求提供更高的数字信号处理(DSP)性能,实时算法的复杂程度增加和浮点算法趋势下,DSP核或硬件加速单元越来越多被部署内嵌在器件之中。DSP一直影响着下一代产品创新,这是因为许多算法在字长和动态范围有着很高的要求,DSP可免去定点到浮点的转化工作加速产品上市,另外DSP浮点计算成本越来越接近定点计算。正因如此,便形成了Arm+DSP内核的黄金搭档。 另外,行业也正在将越来越多的机器学习工作负载变得更加普遍,虽然机器学习有着许多专用的加速器,不过相比来说大量的小范围机器学习的主力仍然是CPU,因此矩阵乘法指令成为关键。 在安全性能上,Arm曾在此前进行了多维度的功能增强,包括PSA认证、TrustZone等。目前PSA认证已经有有超过35个合作伙伴提供的60多种认证产品,而新推出的CCA则也将基于TrustZone提供更加安全的架构。 从Armv9着眼的点来看,行业正逐渐对算力功耗平衡性和安全性能要求提高。Arm架构可用在物联网的大部分设备之上,因此对这两项要求更加吃紧。大数据时代爆炸量的信息增长下,一方面将计算分成了多个维度,另一方面将会对数据安全提出更高的要求。 根据Arm的介绍,搭载ARMv9处理器的芯片最快在2021年年底就会面世,物联网发展日趋成熟,这个时间点恰好提升竞争力的好时机。市场或将拥有追求极致计算性能的高端产品、超低功耗的省电高手、主打安全可靠的产品。而Armv9经过架构的更新,能够从底层和非制程方向进行大改革,相信能为市场带来新的竞争力。 而在广为受关注的国内授权问题上,Arm强调:“Arm既有源于美国的IP,也有非源于美国的IP。经过全面的审查,Arm确定其Armv9架构不受美国出口管理条例(EAR)的约束。Arm已将此通知美国政府相关部门,我们将继续遵守美国商务部针对华为及其附属公司海思的指导方针。”

    时间:2021-04-02 关键词: 华为 ARM

  • Arm推出Arm®v9架构:面向人工智能、安全和专用计算的未来

    新闻重点: ◆ 全新的Armv9架构将会成为未来3,000亿颗基于Arm架构芯片的先驱; ◆ 基于通用计算具备的经济性、设计自由度和可及性的优势,Arm v9架构进一步推进专用计算处理; ◆ 提供更高的性能、增强的安全性以及数字信号处理和机器学习功能。 2021年3月31日,Arm宣布推出Arm®v9架构,以满足全球对功能日益强大的安全、人工智能(AI)和无处不在的专用处理的需求。Armv9立足于Armv8的成功基础,是这十年来最新的Arm架构。Armv8正在当今需要计算的领域中驱动最佳的每瓦性能表现。 Arm首席执行官Simon Segars表示,“在展望由AI定义的未来时,我们必须夯实先进的计算基础,以应对未来的独特挑战。Armv9就是我们给出的答案。在通用计算所具备的经济性、设计自由度和可及性的基础上,市场需要普适专用、安全而强大的处理能力,这将驱动下一个3,000亿个基于Arm架构的芯片发展,而Armv9就是这些芯片的技术先驱。” 基于Arm架构的芯片出货量在持续加速,过去五年基于Arm架构的设备出货量超过1,000亿。按照目前的速度,无论是在终端、数据网络还是云端,全球100%的共享数据很快将会通过Arm技术进行处理。如此广泛的应用让Arm肩负更多的责任和使命,为此,Arm在Armv9中提供更多的安全性和性能,顺应AI、物联网和5G在全球范围内的强劲发展,加速每个产业应用从通用计算转向专用计算。 安全:计算的最大挑战 为了解决当今最大的技术挑战——保护全球数据安全,Armv9架构路线图引入了Arm机密计算架构(Confidential Compute Architecture, CCA)。机密计算通过打造基于硬件的安全运行环境来执行计算,保护部分代码和数据,免于被存取或修改,甚至不受特权软件的影响。 Arm CCA将引入动态创建机密领域(Realms)的概念,机密领域面向所有应用,运行在独立于安全或非安全环境之外的环境中,以实现保护数据安全的目的。例如,在商业应用中,机密领域可以保护系统中商用机密数据和代码,无论它们正被使用、闲置或正在传输中。事实上,在最近一项针对企业高管的Pulse调查中,超过九成的受访者相信,机密计算可以帮助降低企业在安全方面投入的成本,如此一来,他们可以转而大量的投入工程创新。 微软Azure Edge和平台部门企业副总裁兼首席技术官Henry Sanders表示,“随着从边缘到云的用例越来越复杂,我们已经不能用一个放之四海而皆准的方案来解决所有用例。因此,异构计算正变得越来越普遍,这需要硬件和软件开发商之间加强协同。Arm与微软密切合作开发的Armv9机密计算功能就是硬件和软件之间协同的一个很好的范例。Arm处于独一无二的位置,可以在生态系统的核心加速异构计算,在驱动数十亿设备的计算架构上促进开放创新。” 无处不在的AI:呼唤专用、可扩展的解决方案 AI工作负载的普遍性和广泛性需要更多样化和专用的解决方案。据估计,到21世纪20年代中期,全球将有超过80亿台搭载AI语音辅助的设备。且90%或更多设备上的应用程序将包含AI元素以及基于AI的界面,如视觉或语音。 为了满足这一需求,Arm与富士通合作开发了可伸缩矢量扩展(Scalable Vector Extension, SVE)技术,并驱动了世界上最快的超级计算机“富岳”。在此基础上,Arm为Armv9开发了SVE2,以便在更广泛的应用中实现增强的机器学习和数字信号处理能力。 SVE2增强了对在CPU上本地运行的5G系统、虚拟和增强现实以及ML工作负载的处理能力,例如图像处理和智能家居应用。在未来几年,Arm将进一步扩展其技术的AI能力,除了在其Mali™ GPU和Ethos™ NPU中持续进行AI创新外,还将大幅增强CPU内的矩阵乘法。 通过系统设计实现性能最大化 在过去的五年,Arm技术每年都以超过业界的速度提升CPU性能。Arm在新一代架构Armv9上将保持这个速度,预计未来两代移动和基础设施CPU的性能提升将超过30%。 然而,随着行业从通用计算向普遍的专用处理发展,每年两位数的CPU性能提升是不够的。除了增强专用处理能力,Arm的全面计算(Total Compute)设计方法将通过集中的系统级硬件和软件优化以及用例性能的提高,加速总体计算性能。 通过将全面计算的设计原则应用在包含汽车、客户端、基础设施和物联网解决方案的整个IP组合中,Armv9系统级技术将遍及整个IP解决方案,并改善个别IP。此外,Arm还在开发多项技术以提高频率、带宽、缓存,并降低内存延迟,从而最大限度地提升基于Armv9的CPU性能。 下一个计算十年的愿景 Arm高级副总裁、首席架构师兼技术院士Richard Grisenthwaite表示,“更复杂的基于AI的工作负载需求,正在推动更安全和专用处理的发展,这将是打开新市场、抓住新机遇的关键。Armv9将赋能开发者通过弥合软硬件之间的关键差距,构建和编程未来的可信计算平台,同时实现标准化,帮助我们的合作伙伴在更快的上市时间和成本控制之间取得平衡,同时能够创建自己独特的解决方案。”

    时间:2021-03-31 关键词: 芯片 人工智能 AI ARM

  • Arm推出Armv9架构:华为海思不受美国出口约束

    Arm推出Armv9架构:华为海思不受美国出口约束

    Arm今日宣布推出Arm®v9架构,以满足全球对功能日益强大的安全、人工智能(AI)和无处不在的专用处理的需求。本次Armv9架构的发布与Armv8相隔十年,Armv9也将适用于Arm全系列芯片。 根据Arm的介绍,Armv9将继续使用Armv8使用的AArch64作为基准指令集,相比Armv8架构重点升级了3个部分:1、安全性能,2、大幅提高DSP性能,3、大幅提高ML(Machine Learning)性能。 在华为问题上Arm强调:“Arm既有源于美国的IP,也有非源于美国的IP。经过全面的审查,Arm确定其Armv9架构不受美国出口管理条例(EAR)的约束。Arm已将此通知美国政府相关部门,我们将继续遵守美国商务部针对华为及其附属公司海思的指导方针。” 据介绍,搭载ARMv9处理器的芯片最快在2021年年底就会面世。

    时间:2021-03-31 关键词: 华为 海思 Armv9 ARM

  • Arm推出Arm®v9架构,面向人工智能、安全和专用计算的未来

    新闻重点: · 全新的Armv9架构将会成为未来3,000亿颗基于Arm架构芯片的先驱 · 基于通用计算具备的经济性、设计自由度和可及性的优势,Arm v9架构进一步推进专用计算处理 · 提供更高的性能、增强的安全性以及数字信号处理和机器学习功能 (2021年3月31日)Arm今日宣布推出Arm®v9架构,以满足全球对功能日益强大的安全、人工智能(AI)和无处不在的专用处理的需求。Armv9立足于Armv8的成功基础,是这十年来最新的Arm架构。Armv8正在当今需要计算的领域中驱动最佳的每瓦性能表现。 Arm首席执行官Simon Segars表示,“在展望由AI定义的未来时,我们必须夯实先进的计算基础,以应对未来的独特挑战。Armv9就是我们给出的答案。在通用计算所具备的经济性、设计自由度和可及性的基础上,市场需要普适专用、安全而强大的处理能力,这将驱动下一个3,000亿个基于Arm架构的芯片发展,而Armv9就是这些芯片的技术先驱。” 基于Arm架构的芯片出货量在持续加速,过去五年基于Arm架构的设备出货量超过1,000亿。按照目前的速度,无论是在终端、数据网络还是云端,全球100% 的共享数据很快将会通过Arm技术进行处理。如此广泛的应用让Arm肩负更多的责任和使命,为此,Arm在Armv9中提供更多的安全性和性能,顺应AI、物联网和5G在全球范围内的强劲发展,加速每个产业应用从通用计算转向专用计算。 安全:计算的最大挑战 为了解决当今最大的技术挑战——保护全球数据安全,Armv9架构路线图引入了Arm机密计算架构(Confidential Compute Architecture, CCA)。机密计算通过打造基于硬件的安全运行环境来执行计算,保护部分代码和数据,免于被存取或修改,甚至不受特权软件的影响。 Arm CCA将引入动态创建机密领域(Realms)的概念,机密领域面向所有应用,运行在独立于安全或非安全环境之外的环境中,以实现保护数据安全的目的。例如,在商业应用中,机密领域可以保护系统中商用机密数据和代码,无论它们正被使用、闲置或正在传输中。事实上,在最近一项针对企业高管的Pulse调查中,超过九成的受访者相信,机密计算可以帮助降低企业在安全方面投入的成本,如此一来,他们可以转而大量的投入工程创新。 微软Azure Edge和平台部门企业副总裁兼首席技术官Henry Sanders表示,“随着从边缘到云的用例越来越复杂,我们已经不能用一个放之四海而皆准的方案来解决所有用例。因此,异构计算正变得越来越普遍,这需要硬件和软件开发商之间加强协同。Arm与微软密切合作开发的Armv9机密计算功能就是硬件和软件之间协同的一个很好的范例。Arm处于独一无二的位置,可以在生态系统的核心加速异构计算,在驱动数十亿设备的计算架构上促进开放创新。” 无处不在的AI:呼唤专用、可扩展的解决方案 AI工作负载的普遍性和广泛性需要更多样化和专用的解决方案。据估计,到21世纪20年代中期,全球将有超过80亿台搭载AI语音辅助的设备[i]。且90% 或更多设备上的应用程序将包含AI元素以及基于AI的界面,如视觉或语音[ii]。 为了满足这一需求,Arm与富士通合作开发了可伸缩矢量扩展(Scalable Vector Extension, SVE)技术,并驱动了世界上最快的超级计算机“富岳”。在此基础上,Arm为Armv9开发了SVE2,以便在更广泛的应用中实现增强的机器学习和数字信号处理能力。 SVE2增强了对在CPU上本地运行的5G系统、虚拟和增强现实以及ML工作负载的处理能力,例如图像处理和智能家居应用。在未来几年,Arm将进一步扩展其技术的AI能力,除了在其Mali™ GPU和Ethos™ NPU中持续进行AI创新外,还将大幅增强CPU内的矩阵乘法。 通过系统设计实现性能最大化 在过去的五年,Arm技术每年都以超过业界的速度提升CPU性能 。Arm在新一代架构Armv9上将保持这个速度,预计未来两代移动和基础设施CPU的性能提升将超过30%。 然而,随着行业从通用计算向普遍的专用处理发展,每年两位数的CPU性能提升是不够的。除了增强专用处理能力,Arm的 全面计算(Total Compute)设计方法将通过集中的系统级硬件和软件优化以及用例性能的提高,加速总体计算性能。 通过将全面计算的设计原则应用在包含汽车、客户端、基础设施和物联网解决方案的整个IP组合中,Armv9系统级技术将遍及整个IP解决方案,并改善个别IP。此外,Arm还在开发多项技术以提高频率、带宽、缓存,并降低内存延迟,从而最大限度地提升基于Armv9的CPU性能。 下一个计算十年的愿景 Arm高级副总裁、首席架构师兼技术院士Richard Grisenthwaite表示,“更复杂的基于AI的工作负载需求,正在推动更安全和专用处理的发展,这将是打开新市场、抓住新机遇的关键。Armv9将赋能开发者通过弥合软硬件之间的关键差距,构建和编程未来的可信计算平台,同时实现标准化,帮助我们的合作伙伴在更快的上市时间和成本控制之间取得平衡,同时能够创建自己独特的解决方案。” 欲了解更多Arm对下一个计算十年的愿景,请访问Arm 官网: · Simon Segars讲述公司实现基于Armv9的下一代专用计算的历程,探讨Arm不断发展的生态网络和发展愿景。 · Richard Grisenthwaite和技术领导团队展望Arm架构的未来。 · Simon Segars和微软总裁Brad Smith高峰对话。 · Arm与谷歌、富士康、微软、NVIDIA、恩智浦、Unity、大众、Zoom等Arm生态合作伙伴进行前瞻性专题讨论。

    时间:2021-03-31 关键词: 人工智能 AI ARM

  • 恩智浦宣布扩展其机器学习产品组合及功能

    恩智浦宣布扩展其机器学习产品组合及功能

    新闻亮点:• 恩智浦进行战略性投资,与Au-Zone Technologies开展合作,旨在扩展eIQ™机器学习开发环境• 恩智浦是Arm Ethos-U65 microNPU(神经处理单元)的领先技术合作伙伴,这款NPU将集成到未来的i.MX应用处理器中• 恩智浦将推动边缘人工智能(AI)、新型硬件和软件的新一波浪潮, 从而在一系列嵌入式设备中构建经济高效的人工智能解决方案荷兰埃因霍温——2020年10月23日——恩智浦半导体(NXP Semiconductors N.V.) 今日宣布公司正在增强机器学习开发环境和产品组合。通过投资,恩智浦与总部位于加拿大的Au-Zone Technologies建立了独家战略合作关系,旨在利用易于使用的机器学习工具来扩展恩智浦的eIQ™机器学习(ML) 软件开发环境,并且扩展适用于边缘机器学习的芯片优化推理引擎产品。此外,恩智浦还宣布自己一直在与Arm合作,作为领先技术合作伙伴对Arm® Ethos-U™ microNPU(神经处理单元)架构进行升级改进,以便支持应用处理器。恩智浦会将Ethos-U65 microNPU集成到下一代i.MX应用处理器中,以提供高能效的经济高效型机器学习解决方案,满足快速增长的工业和物联网边缘应用需求。恩智浦半导体资深副总裁兼边缘处理业务部门总经理Ron Martino表示:“恩智浦的可扩展应用处理器为客户提供了高效的产品平台和广泛的生态系统,帮助他们快速交付创新的系统。通过与Arm和Au-Zone开展这些合作,并在恩智浦内部进行技术开发,我们的目标是持续提高处理器的效率,同时提升客户的生产率,缩短他们的产品上市时间。恩智浦致力于帮助客户降低拥有成本,保持关键数据的高安全性,利用增强的人机交互方式来保证安全。”为所有客户实现机器学习Au-Zone的DeepView™机器学习工具套件提供了直观的图形用户界面(GUI) 和工作流程,可以进一步增强eIQ的功能,让各种经验水平的开发人员都能导入数据集和模型,快速进行训练,并在恩智浦边缘处理产品组合上部署神经网络模型和机器学习工作负载。为了满足当今工业和物联网应用的苛刻要求,恩智浦的eIQ-DeepViewML工具套件将为开发人员提供先进功能,用于在恩智浦器件上删除、量化、验证和部署公共和专有神经网络模型。它提供针对特定目标的图形级别分析功能,让开发人员能够在运行时深入了解运行情况,以便优化神经网络模型架构、系统参数和运行时性能。通过增加Au-Zone的DeepView运行时推理引擎作为恩智浦eIQ中开源推理技术的补充,用户将能够非常轻松地在恩智浦器件上快速部署和评估机器学习工作负载和性能。这种运行时推理引擎的关键特性是为每种SoC架构优化系统存储器使用和数据移动。Au-Zone首席执行官Brad Scott表示:“Au-Zone非常荣幸参与这项投资,与恩智浦结为战略合作伙伴,尤其是恩智浦为更多机器学习加速器件制定的路线图,令人感到兴奋。我们开发DeepViewTM的目的是为开发人员提供直观的工具和推理技术,这次合作代表了先进芯片运行时推理引擎技术与开发环境的强大联合,必将进一步加快嵌入式机器学习功能的部署。这种合作关系建立在我们与恩智浦十多年工程协作的基础上,随着OEM继续将推理功能迁移到网络边缘,它将促使我们提供更先进的机器学习技术和交钥匙解决方案。”扩展机器学习加速为了在更广泛的边缘应用中加速机器学习,恩智浦将扩展适用于工业和物联网边缘的常用i.MX应用处理器,将Arm Ethos-U65 microNPU集成到处理器中,利用这个集成的NPU,为以前发布的i.MX 8M Plus应用处理器提供补充。恩智浦和Arm技术合作的重点是定义microNPU的系统级别,它能够支持高达1 TOPS的运算能力(在1GHz频率下处理512个并行乘加运算)。 Ethos-U65保持了Ethos-U55的MCU级别功效,同时还将其适用范围扩展到更高性能、基于Cortex-A的片上系统(SoC)。 Ethos-U65 microNPU与恩智浦i.MX系列异构SoC现有的Cortex-M内核配合使用,从而提高效率。Arm机器学习部门的营销副总裁Dennis Laudick表示:“人工智能和机器学习在工业和物联网应用领域掀起了一波浪潮。 Ethos-U65将推动新一波的边缘人工智能浪潮,为恩智浦客户提供安全、可靠、智能的器件上智能。”供货时间Arm Ethos-U65将集成在恩智浦未来的i.MX应用处理器中。 eIQ- DeepViewML工具套件以及集成到eIQ中的DeepView运行时推理引擎将于2021年第一季度推出。端到端的软件支持,包括为i.MX 8MPlus、其他恩智浦SoC以及集成Ethos-U55和U65的未来器件训练、验证和部署现有或新的神经网络模型,将通过恩智浦的eIQ机器学习软件开发环境提供。请注册参加恩智浦和Arm于11月10日联合举办的在线研讨会来了解更多信息并阅读我们的博客。

    时间:2021-03-30 关键词: 恩智浦 机器学习 ARM

  • AIoT沙场点兵,ARM向左,RISC-V向右

    本文来源:物联网智库 这篇文章由一条真实性并未被验证的新闻开始。 新闻标题是《当你还在观望时,别人RISC-V芯片的出货量已经超过10亿颗》。 新闻中介绍: “当新事物出来的时候,大部分人先观望一番,看看前景如何,如果值得投入再跟进;但也有的人,一开始就一头扎进去了…比如XX就是这样一家公司…在创立初期就开始了RISC-V架构的研究,2017年推出了RISC-V芯片,并于2017年底2018年初开始销售。在2019年5月的时候,XX宣布其RISC-V蓝牙芯片出货量超过1亿颗,如今,笔者询问公司相关人员后获知,其RISC-V芯片的累计出货量已经超过10亿颗。” 虽然出货量数据有没有水分不好评价,不过这则新闻激起了我的好奇心,RISC-V的确已经成为了AIoT领域一股不容小觑的力量。 RISC-V是精简指令集架构,诞生于2010 年,架构简单、完全开源。我很看好RISC-V的前景,并且愿意相信RISC-V在未来将与ARM和X86架构平起平坐。 根据市场研究机构Semico Research的预测,预计到2025年,采用RISC-V架构的芯片数量将增至624亿颗。2018年至2025年复合增长率将高达146%。 这些芯片将主要应用于工业、PC、消费电子和通讯市场等。 研究机构Tractica预测,RISC-V的IP和软件工具市场也将在2025年达到10.7亿美元。 方舟投资的创始人凯瑟琳·伍德也看好RISC-V的发展,她预测RISC-V和ARM架构在数据中心领域的营收将达年复合增长率45%,在2030年扩大到190亿美元,从而超越X86架构。 在数据中心市场之外,AIoT是更加适合RISC-V生长的土壤。 由于RISC-V的指令集相当小巧精悍,很多企业从一开始就看准AIoT市场,并将其作为RISC-V的着力方向,以定制化来开疆拓土。 RISC-V这颗种子,已在AIoT领域快速打开局面,很可能成长为参天大树,催生一场硬件生态的变革。 这篇文章,我将尝试对RISC-V即将在AIoT领域引发的变化做一些分析: RISC-V的价值在于重构产业链价值分布和生产关系 RISC-V的发展有三种主要的驱动力:国产替代、低功耗和数据安全 RISC-V让企业开始谨慎思考跨越硬件和软件的开源策略 1、RISC-V构建新型生产关系 我们从另一条重要新闻说起。 在今年年初,全球首款RISC-V单板计算机正式发布,这是RISC-V结合AI应用进入单板计算机领域的里程碑。 这则新闻中,最引人瞩目的是,这款RISC-V开发板是由三家企业合作共同开发而成,包括RISC-V处理器的技术提供商A、开源硬件方案孵化器和分销商B,以及开源社区运营商C。 值得注意的是后两者B和C的参与。 探究这款RISC-V开发板的诞生过程,可以一窥RISC-V即将引发的产业链变革。 过去,所有的硬件都是基于这样的流程设计出来的:芯片企业设计芯片à方案公司基于芯片设计PCB硬件à系统厂商基于PCB板完成产品。 这些硬件都是基于给定的芯片完成,系统端无法改变芯片设计。所以我们默认了一种模式,就是在等着别人告诉我们这个设备是什么,我们只是选择购买与否。 这次,上述的流程发生了一定程度的逆向。 开源社区运营商C定义了RISC-V开发板的功能、外壳和应用,并且通过社区跟软硬件开发者互动。 开源硬件方案的孵化器和分销商B则调集各种力量,帮助基于RISC-V的新兴应用快速变成设备,并在市场中试水。 他们的作用力反过来影响了处理器的技术提供商A对于下一代芯片的探索。 由此形成了一个互动的循环,RISC-V处理器的技术提供商仅是其中的某个节点,而不一定是起始的原点。用户可以根据自己的需求,跳过中间环节,直接去定制一款硬件,当需求积累到一定程度,甚至可以去定义一颗芯片。 这个流程非常的AIoT。 因为在万物互联时代,智能硬件不再是电脑和手机等有限的几种,而是非常碎片化,有个大大的长尾。 谁都难以预测下一款爆品、下一个新兴场景到底是什么。 这时,话语权和决策权应该放到最终用户手上,由用户的需求反向推动技术的迭代,更深入的推进产业升级。处于上游的芯片技术提供商成为聆听者和服务者。 2、RISC-V推进价值链的重新分布 由于硬件开发流程的变化,势必将造成产业链的价值分布也形成转移。 过去,尤其在X86架构时代,芯片技术提供商保持了很高的利润率,然后层层加码最终到达用户手上。 这次,由于各方联合,A、B、C多位一体推动研发过程,很多事情都会被改变。由于基于共同的开源硬件实现设备的设计和研发,很多物料、工艺,甚至人才都可以被充分复用。无论是开发的周期还是成本,都值得重新估算。 RISC-V的重要优势不仅是开源,还胜在弹性。 AIoT应用场景的多样化和差异化,导致了大量芯片产品的定制化需求。不同的应用领域,对芯片方案的细节要求有所不同。 RISC-V的弹性体现于,她可根据特定应用场景对指令集进行扩展、裁剪、修改和定制,恰恰是AIoT碎片化需求的最优解。 RISC-V包含基本指令集、可选指令集、用户指令和特权指令。基本指令集是任何使用RISC-V的公司或个人都必须做到的,可选指令集给予使用者选择空间,用户和特权指令集则可以根据应用场景的需求增加。 根据RISC-V 基金会中国顾问委员会主席方之熙博士的分析,正是因为RISC-V提供可拓展指令集,也让RISC-V具备弹性,这一点非常重要。 跃昉科技CTO江朝晖做了一个非常形象的比喻。 比如同样是请客吃饭,传统芯片就像是请你去吃日式自助套餐,298元什么菜都自动送上桌,吃的掉吃不掉反正就是这些菜。不过可能你吃几个寿司,一盘沙拉就饱了。也有可能你没吃饱,还想加菜,不过加菜就又要交钱。 RISC-V就像是根据你的需求,点什么菜上什么菜,花钱少,吃饱就好。而且RISC-V大食堂里面的厨师还很贴心,围绕RISC-V架构做了很多开源的选项,就像有些刺身、寿司还可能提供免费版本,你可以选择付费的,当然也可以尝尝免费的好吃不好吃。你开心,厨师也很开心。 真正理解RISC-V所带来的生产关系和价值链重构,可以更好的利用RISC-V的优势,根据应用特性,设计出个性化的RISC-V系统方案,更好的满足市场需求。 3、推动RISC-V的三重驱动力量 目前推动RISC-V发展的力量,主要来自于三个方面。 第一股力量:国产替代的需求方。 RISC-V指令集在中国备受关注,尤其在目前的国际形势下,发力RISC-V有其特殊意义。 现在很多行业都意识到芯片和相关技术自主可控的重要性,对于国内企业来说,RISC-V是实现中国芯、提升自主创新能力的契机。 中国RISC-V产业联盟和中国开放指令生态系统(RISC-V)联盟在2018年相继成立,上海市经信委发布《上海市经济信息化委关于开展2018年度第二批上海市软件和集成电路产业发展专项资金(集成电路和电子信息制造领域)项目申报工作的通知》,其中包含基于RISC-V指令集架构的处理器芯片方向,成为国内首个支持RISC-V研发的相关政策。 第二股力量:低功耗场景的使用方。 功耗,正是AIoT应用中对芯片非常重要的衡量指标之一。英伟达在研究中也发现,选择RISC-V可以制造出比其他任何产品都小的芯片,还能将功耗降至最低。 根据部分企业的实践,同样条件下,相比ARM架构,RISC-V可以将功耗降低三分之一。功耗更低,适用场景自然更广,功耗敏感型应用推动了RISC-V的普及。 第三股力量:数据安全可追溯的应用方。 万物互联的时代,将有数百亿台AIoT设备被连接起来,此时数据安全并不是奢侈品,而是必需品。RISC-V开源特性允许各方共同检查其体系结构,并且避免大范围的危机事件发生。 每天物联网设备都在产生海量数据,也由此带来了很多需要解决的问题:谁拿了我们的数据?他们拿了我们的数据做什么?哪些数据有价值?我们全都不知道。因为我们只是数据的产生者和传播者,然而赚钱最多的却是数据使用者。Google每秒钟就会赚几百亿美金,但数据的产生者和传播者并没有赚钱,回报分配的问题需要被解决。 这就需要两项技术的完美配合:RISC-V和区块链。 RISC-V与区块链开放性、去中心化、不可篡改的架构联合在一起,使得我们可以通过区块链从源头上追踪数据,知道数据被用在哪里,调用了多少次,保障数据生产者和传播者应得的价值。 最近,RISC-V基金会成立了区块链行业工作组,以理解、定义和协调区块链在RISC-V架构上的实现和应用。 4、ARM向左,RISC-V向右 谈到RISC-V,还有一个话题不得不谈,那就是RISC-V与ARM架构的对比。 很多文章在同时提到两者时,一般会用“威胁”、“超越”、“对决”等形容,将他们放到对立的关系上。 其实她们并不是非此即彼的关系,没有孰优孰劣,只不过各自选择的路径不同,因此构建了不同的生态。 两者的最大区别是闭源和开源,就像iOS和安卓。 在闭源的生态下,我们最为熟悉,ARM自己生产CPU或者授权IP给别人生产CPU,推动设备厂商把新的算力带给消费者。 在开源的生态下,软件最先开始了开源之旅,然后有了一部分开源硬件,比如Arduino开发板。但是开源一直都不够彻底,因为无论软件、硬件如何开源,芯片始终不是开源的。 这些“开源”硬件都是基于给定的芯片完成设计,即便有人提出自由硬件的口号,那也是仅仅开源了硬件中的一些算法和程序而已,不是真正的硬件开源。 直到有了RISC-V,开源终于“下沉”到指令集,设计团队可以方便地设计出真正满足自己需求的处理器,自由硬件的梦想不再遥远。 然而,需要强调的是,开源并不等于免费。 “所有命运馈赠的礼物,早已在暗中标好了价格”,如果它看起来是免费的,那么你就是产品的一部分。 RISC-V正在迅速壮大,ARM阵营感受到压力属于必然。不过万物互联的市场是万亿量级,无论ARM还是RISC-V,都将找到各自的立足点,并在其中发挥重要价值。 5、企业宜谨慎思考开源策略 开源,比我们想象的更加普及。 1998年,IBM进行了一份调查,询问100名CIO是否在其公司内使用开源软件,95%的人回答“没有”。讽刺的是,同样的问题,当调查对象换为程序员时,95%的人回答“有”。这次调查的结论超出了IBM的预料,从此IBM决定进行重大战略转移,逐步走向开源。 软件开源和硬件开源的逻辑相同。 RISC-V之于半导体,就像Linux之于PC操作系统,安卓之于手机操作系统一样,其开源特性受到全球开发者们青睐。 驱使开发者使用开源软件的相同动因,吸引着硬件公司采用开源RISC-V。 开源,让许多软件取得了成功。 最典型的例子是安卓。在谷歌的推动下,基于安卓的智能手机开始兴起与普及。下游终端为上游产业链打开了增长空间,安卓系统在发展初期得到了摩托罗拉、三星、HTC等众多手机品牌厂商的支持,随后不到十年,安卓的接力棒又交到了华为、小米、OPPO等手上。 除了安卓之外,还有一串开源软件和系统的长名单。 Linux统一了服务器的世界。 WordPress占据了互联网30%+的流量… 开源从一种精神图腾,成为了软件世界的主流,也改变了原有的商业模式。 从竞争层面观察,闭源软件之间相互竞争,如果突然出现一个开源的同类项目,有成本偏好的客户就会率先尝试,逐渐吸引更多的客户,开源项目会在社区的推动下,做的越来越好。 因此有人说,开源的本质就是形成局部垄断,有一定道理。 开源,是否能让硬件同样取得成功? 这个问题还没有答案。 至少,RISC-V让很多企业意识到开源是大势所趋,而且愈加彻底。由此便引发了新的思考:如果利用开源,把自己的产品重做一遍,将会是什么效果? 6、写在最后 划个重点。 第一,RISC-V构建的生态形成互动循环,RISC-V处理器的技术提供商仅是其中的某个节点,而不一定是起始的原点。用户可以根据自己的需求,跳过中间环节,直接去定制一款硬件,当需求积累到一定程度,甚至可以去定义一颗芯片。 第二,RISC-V的弹性体现于,她可根据特定应用场景对指令集进行扩展、裁剪、修改和定制,恰恰是AIoT碎片化需求的最优解。 第三,RISC-V的发展有三种主要的驱动力:国产替代、低功耗和数据安全。 第四,RISC-V与ARM并没有孰优孰劣,只不过各自选择的路径不同,因此构建了不同的生态。 最后,感谢跃昉科技CTO江朝晖在本文写作过程中对我的极大帮助,同时也要感谢她那架延误的航班,让我们的交流更加从容。 感谢赛昉科技CEO徐滔为我提供的资料。 感谢摩联科技CEO林瑶,他的朋友圈为我开辟了RISC-V新视野,让我认识了FIVE“家族”,不仅有SIFIVE、STARFIVE、LEAPFIVE、CHINAFIVE,最重要的是,还有BEEFIVE。 参考资料: 1. Semico Forecasts Strong Growth for RISC-V,来源:RISC-V International 2. RISC-V“芯”事:十年萌芽,繁荣于物联网森林,来源:钛媒体 3. 意义重大!全球首款RISC-V单板计算机发布了,来源:FPGA开发圈 4. RISC-V 让ARM 紧张的原因为什么是弹性?来源:雷锋网 5. David Patterson:RISC-V将成为世界上最重要的指令集,来源:半导体行业观察 6. 国内芯片企业纷纷入局,如今RISC-V生态建设进展几何?来源:爱集微 7. RISC-V对ARM, Intel和其他企业构成怎样的威胁?作者:Rupert Goodwins,来源:StarFive 8. 分析人士:Intel时代终结,Arm和RISC-V将在数据中心迅速崛起,来源:半导体行业观察 ~END~ 免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

    时间:2021-03-29 关键词: 物联网 RISC-V AIoT ARM

  • 莱迪思Propel帮助设计人员快速创建基于处理器的系统

    莱迪思Propel帮助设计人员快速创建基于处理器的系统

    几乎所有的电子设计师和嵌入式系统开发人员都听过现场可编程门阵列(FPGA)。对于实际的FPGA器件,设计人员和开发人员都知道它拥有可编程架构,能够对其进行配置来而执行想要的功能,但他们的了解可能仅限于此。同样,当涉及创建一个可以在FPGA上实现的设计时,他们可能听过硬件描述语言(HDL)和寄存器转换级电路(RTL)之类的术语,但可能并未充分理解它们的含义。 与Verilog或VHDL相似,HDL能让FPGA设计人员描述设计意图,正如软件开发人员使用C++或者C++等编程语言一样。理解HDL的方式之一就是它可以用来描述同时发生的事物,这也是现实世界中硬件工作的方式。相比之下,软件编程语言通常用于描述顺序发生的事。 同时,RTL是常用于逻辑综合引擎输入的抽象级电路。该工具将RTL转换到逻辑元件和互连网络,然后在FPGA的可编程逻辑内实现。逻辑综合引擎可以比作软件开发者的编译器,后者采用高级程序作为输入,并将其转换为由处理器执行的机器代码。 FPGA的可编程结构可用于构建硬件加速器,以低功耗执行数据处理任务。可编程结构经过配置后可创建一个或多个更适合处理决策任务的软核处理器,这些处理器还可以控制硬件加速器,包括向其提供数据并根据结果采取相应措施。 RISC-V就是这样一种处理器,它是一种开源指令集架构(ISA),可以通过开源许可免费获得。RISC-V开源硬件概念的创造者受到Linux开源软件成功的启发。RISC-V的一大优势是在各类设计实现中都有出色的软件兼容性,并且目前这些处理器的使用急剧增长。 然而,对于想要使用这种处理器的非FPGA设计人员而言,问题在于他们缺乏有关FPGA设计语言、工具和流程的专业知识。为了解决这个问题,低功耗可编程FPGA的领先供应商莱迪思半导体开发了名为LatTIcePropel™的工具,这是一款基于图形用户界面(GUI)的设计环境,任何用户(无论是否具有FPGA专业知识)都能使用它以拖放的方式快速设计基于RISC-V处理器的系统。 Propel输出的是RTL文件,可以发送到综合引擎,生成可载入FPGA的配置文件。之后软件开发人员可以在基于FPGA的RISC-V设计实现上运行他们的RISC-V可执行文件,正如在其他任何RISC-V处理器上运行一样。莱迪思为其FPGA客户免费提供RISC-VIP核。 基于FPGA的解决方案 数据处理要求有合适的计算引擎。开发者拥有诸多不同选择,包括微处理器(MPU)、微控制器(MCU)、图形处理器(GPU)、FPGA和SoC等器件。 MPU和MCU在执行决策任务时效率很高,但是在实现原始数据处理算法时,无论是处理时间还是功耗都不太理想。SoC能以最低的功耗实现最高性能,但缺点是开发起来价格昂贵、耗费资源且十分耗时,并且在此类芯片架构中实现的算法基本上都是固定无法更改的,而系统采用的协议和标准会不断变化,因此会带来很多问题。 某些数据处理任务(包括许多AI/ML算法)非常适合并行处理。FPGA的可编程架构(图1a)经配置可实现硬件加速器(HA)功能,以大规模并行方式执行任务(图1b),从而显著提高性能,同时降低功耗。 许多情况下还需要数据协处理功能,使用中央处理器(CPU)来强化硬件加速器,处理器可以执行高级决策和控制功能。不同于直接在芯片中实现的硬核CPU,FPGA的可编程架构能够实现软核CPU以及相关的总线结构(地址、数据、控制)和任何所需的外设IP功能(图1c)。 图1.结构化总线的方法广泛适用于各类应用,包括嵌入式视觉、安防和人工智能。 需要注意的是,根据FPGA器件和用户的要求,额外的可编程逻辑功能和外围通信功能(例如USB、MIPI、I2C、SPI、CAN和UART)可以通过硬核和/或软核实现。文章篇幅有限此处不作赘述。 使用软核CPU有诸多优点,包括能够配置处理器的操作及许多可选功能,如动态内存访问(DMA)控制器,从而对其精确调整,高效地满足目标应用的要求。此外,如有需要,可以配置可编程结构实现其他外设IP功能。如在人工智能应用中,可以使用可编程逻辑资源来创建简单的人工神经网络,用于推理之类的任务。 RISC-V 如前所述,RISC-V是基于已有的精简指令集计算机(RISC)原则的开源指令集架构,可通过开源许可获得。此外,许多公司目前提供支持RISC-V的RISC-V硬核或开源操作系统,并且几种主流的软件工具链均支持该指令集。 RISC-V的模块化设计包括基础指令集和其他的扩展指令集。在行业、技术界和教育机构的共同努力下,两者已得到长足的发展。基础指令集规定了指令(及其编码)、控制流、寄存器(及其大小)、存储器和寻址、逻辑(即整数)操作以及辅助功能。仅基础指令集就能实现具有全面软件支持(包括通用编译器)的通用计算机。 还可以通过可选拓展指令集实现额外功能,从而让设计人员灵活选择其应用所需的功能。RISC-V定义了许多扩展指令集,包括A(原子)、F(单精度浮点)、D(双精度浮点)、Q(四精度浮点)和C(压缩的16位指令以减少代码尺寸,用于存储空间有限的系统)。上述指令集均可灵活选择。 图2.莱迪思是首个支持RISC-V的基于闪存和SRAM的FPGA供应商。 与作为专用处理器的硬核实现相比,基于FPGA的软核RISC-V拥有的巨大优势在于FPGA可重新配置的巨大潜力能够满足各种扩展需求。 莱迪思RISC-V软核IP套件拥有32位RISC-V处理器核以及可选的定时器和可编程中断控制器(PIC)子模块。该CPU核支持RV32I指令集、外部中断和符合JTAGIEEE1149.1规范的调试。 定时器子模块是一个64位实时计数器,它将实时寄存器与另一个寄存器进行比较以触发定时器中断。PIC子模块最多将八个外部中断输入聚合为一个外部中断。处理器核通过使用行业标准的32位AHB-L总线接口访问子模块寄存器。 莱迪思Propel 许多嵌入式系统的设计人员都对使用FPGA很感兴趣,但是一想到要使用传统的FPGA设计工具和HDL就望而却步。为了解决这一问题,莱迪思Propel采用了基于图形用户界面(GUI)的设计环境,任何用户(无论是否具有FPGA专业知识)都能使用其拖放的设计方式快速构建和配置基于RISC-V处理器的设计。 Propel输出的是使用VerilogHDL语言的RTL文件,可以将其发送到综合引擎,生成可载入FPGA的配置文件。该配置文件可用于莱迪思CrossLink™-NX(面向嵌入式视觉应用)、Certus™-NX(通用FPGA)以及MachXO3D™和Mach™-NXFPGA(安全系统控制)系列产品。FPGA配置完成后,软件开发人员可以在基于FPGA的RISC-V设计实现上运行他们的RISC-V可执行文件,正如在其他任何RISC-V处理器上运行一样。 图3.Propel界面直观、易于使用、功能强大。 除了拖放IP实例化,PropelBuilder还能自动进行引脚连接,通过向导配置和设置参数以及采用按构造逐步校正进行IP集成。 其次是莱迪思PropelSDK(软件开发套件),可提供无缝的软件开发环境。它拥有行业标准的集成开发环境(IDE)和工具链。SDK还为PropelBuilder定义的系统提供软件/硬件调试功能以及软件库和板级支持包(BSP)。 需要注意的重要一点是,Propel可以很好地对接下游工具,并且它也是一个独立的程序,且其大小仅为0.5GB,可以快速轻松地下载和安装。同样令人感兴趣的是,Propel的所有命令都可以用Tcl编写,从而提高了设计效率并将其快速集成到用户自己的设计环境中。 图4.无论是简单的“HelloWorld”应用还是复杂的嵌入式控制和数据处理系统,Propel都能让用户快速完成设计 对于硬件设计,Propel是那些需要FPGA优势但缺乏FPGA硬件设计经验的团队的理想选择。此外,如果团队成员确实具有FPGA设计经验,那么他们还可以根据需要对设计做更为精确的控制。对于软件设计,Propel提供行业标准的C/C++开发环境。软件开发人员似乎更多地使用现成的微控制器。 设计人员可以使用Propel在CrossLink-NX、Certus-NX和Mach-NXFPGA中快速轻松地生成基于RISC-V软软核的处理器系统,从而提供复杂的视频处理、系统控制和系统安全功能,其延迟远远低于通过外部独立处理器实现的设计。 总结 除了拥有以低功耗执行高性能数据处理任务的逻辑功能和硬件加速器外,FPGA内部的可编程架构还可用于实现一个或多个更适合决策任务的软核处理器,以及用于诸如硬件加速器之类的控制功能,包括向它们提供数据并根据结果采取措施。 RISC-V就是这样一种处理器,它是一种开源指令集架构(ISA),可以通过开源许可免费获得。莱迪思是首个支持RISC-V以及为其FPGA客户免费提供RISC-VIP核的基于闪存和SRAM的FPGA供应商。 对于想要使用这种处理器的非FPGA设计人员而言,问题在于他们缺乏有关FPGA设计语言、工具和流程的专业知识。为了解决这个问题,莱迪思提供了Propel来简化设计流程,让开发人员能够快速设计基于RISC-V处理器的系统。

    时间:2021-03-24 关键词: FPGA 视频采集处理系统 ARM

  • 基于ARM9芯片的S3C2440和Linux操作系统设计SPI驱动程序

    基于ARM9芯片的S3C2440和Linux操作系统设计SPI驱动程序

    在嵌入式开发过程中,许多系统通常使用串口驱动来满足通信要求,但在实际应用中,使用SPI通信方式会更加高效和快捷[2]。SPI接口是一种高速、高效的串行接口技术,因而SPI设备在数据通信应用中十分方便[3]。本文基于ARM9芯片的S3C2440和Linux操作系统,设计了一种SPI驱动程序,该驱动程序功能可靠灵活、易于移植,可应用于多种嵌入式平台,实现ARM与设备之间的通信。 1硬件说明 1.1S3C2440开发平台 1.2SPI硬件模块 S3C2440具有两个SPI,每个SPI具有两个8位移位寄存器用于独立地发送和接收数据,并兼容SPIver.2.11协议,支持8位逻辑预分频,系统可用polling、中断、DMA三种方式判断SPI发送及接收状态。此SPI模块共包含以下信号线[5]: (1)SCK:数据同步时钟信号,由主设备驱动,向从设备输出,使得从设备按照同步时钟的步调来接收或发送数据。 (2)nCS(由用户指定GPIO):从设备选择信号线(SlaveSelect,SS)由主设备发出,用来选择激活某个从设备,低电平有效。 (3)MISO(SPIMISO0):主入从出信号线,表示该信号在主设备中作为输入,在从设备中作为输出。 (4)MOSI(SPIMOSI0):主出从入信号线,表示该信号在主设备中作为输出,在从设备中作为输入。 (5)/SS(nSS):多主错误检测。 2Linux下的SPI设备驱动程序设计 Linux设备驱动在Linux内核中扮演着重要的角色。它可使某些特定硬件响应一个定义良好的内部编程接口,这些接口完全隐藏了设备工作的细节。用户操作可通过一组标准化的调用来执行,这些调用在形式上完全独立于特定的驱动程序,而将这些调用映射到实际硬件设备的特有操作上,则是驱动程序的任务[6]。本设计的SPI驱动主要定义了初始化、读和写三个操作。其中初始化操作用于驱动程序第一次加载到内核运行时,对一些内核机制及存储器进行初始化。写操作负责将用户数据拷贝至内核缓冲区,控制本地主SPI发送数据至从SPI寄存器中。读操作将按照用户要求读取的字节数,连续读取本地主SPI中接收到的数据,并将其拷贝至用户空间。驱动程序将采用中断的方式通知系统SPI数据是否发送完毕,即当SPI硬件模块每发送完毕一个数据,都会通过中断线向系统发起中断,系统响应中断后,驱动程序将调用中断处理例程。 2.1SPI初始化 (1)申请中断。此驱动设计通过中断判断数据是否发送完毕,所以需要申请SPI0相关的中断,并注册相应的中断处理函数。此驱动程序的中断处理函数声明如下: staTIcirqreturn_ts3c2440_isr_spi(inTIrq,void*dev_id,structpt_regs*reg) 利用request_irq向内核申请中断号并注册中断处理函数: request_irq(IRQ_SPI0,s3c2440_isr_spi,SA_INTERRUPT,DEVICE_NAME,s3c2440_isr_spi); (2)虚拟地址映射。驱动程序可以直接通过访问内核中的虚拟地址来访问设备物理地址所对应的寄存器,对其进行操作。SPI设备的地址映射过程如下: request_mem_region(S3C2440_PA_SPI,0x30,“s3c2440-spi”); base_addr=ioremap(S3C2440_PA_SPI,0x30); 其中S3C2440_PA_SPI为SPI的物理地址(在/asm-arch/arch-s3c2440/map.h中定义),从S3C2440_PA_SPI开始分配0x30大小的内存区域,此后将其移至内核空间。 (3)相关寄存器的设置。通过配置SPI功能寄存器设置SPI工作模式。以ioremap返回的虚拟地址为基址,通过增加不同偏移量访问相应寄存器。本次设计将本地SPI设为主设备,开启SCK信号使能,设定CPOL和CPHA均为0,SPI工作在普通模式下。设置波特率预分频寄存器(SPPRE)中的分频比为8。具体设计如下: __raw_writel((S3C2440_SPCON_SMOD_INT|S3C2440_SPCON_ENSCK|S3C2440_SPCON_MSTR),s3c2440_SPCON); DPRINTK(DEVICE_NAME“SPCONiniTIalizen”); __raw_writel((S3C2440_SPPIN_ENMUL|S3C2440_SPPIN_KEEP),s3c2440_SPPIN); DPRINTK(DEVICE_NAME“SPPINiniTIalizen”); __raw_writel(0x07,s3c2440_SPPRE); DPRINTK(DEVICE_NAME“SPPREinitializen”); (4)初始化发送和接收数据缓冲区。数据缓冲区使用环形缓冲区结构,通过头尾指针的循环移动,实现对缓冲区的动态管理。其定义如下: typedefstruct { spi_bufbuf[MAX_SPI_BUF]; unsignedinthead,tail; wait_queue_head_twq; }SPI_BUF;staticSPI_BUFspi_Tx_buf;staticSPI_BUFspi_Rec_buf; 其中spi_buf表示char型,MAX_SPI_BUF为缓冲区大小,设为1024B。head、tail分别表示头尾数组下标,wq为等待队列头。此结构依靠以下宏进行管理: #defineSPI_Tx_BUF_HEAD(spi_Tx_buf.buf[spi_Tx_buf.head]) #defineSPI_Tx_BUF_TAIL(spi_Tx_buf.buf[spi_Tx_buf.tail]) #defineINCBUF(x,mod)((++(x))&((mod)-1)) 前两个宏用于引用缓冲区中的元素,最后一个宏用于对头尾下标进行前移,并保证头尾下标数值可循环变化,不发生溢出。 在初始化时,分别对接收和发送缓冲区的头尾指针进行清零操作,具体如下: spi_Tx_buf.head=spi_Tx_buf.tail=0;spi_Rec_buf.head=spi_Rec_buf.tail=0; (5)内核机制相关的数据结构初始化。本设计所使用的内核机制包括了中断上下半部的操作和睡眠等待机制,因此需要对发送、接收等待队列以及tasklet结构进行初始化,并注册tasklet处理函数。初始化过程如下: init_waitqueue_head(&(spi_Tx_buf.wq)); init_waitqueue_head(&(spi_Rec_buf.wq)); tasklet_init(&spi_tasklet,spi_tasklet_handler,data); (6)初始化相应端口。根据S3C2440外部管脚配置,将与SPI功能引脚复用的GPIO设定为SPI相应功能。具体操作如下: s3c2440_gpio_cfgpin (S3C2440_GPE11,S3C2440_GPE11_SPIMISO0); s3c2440_gpio_cfgpin (S3C2440_GPE12,S3C2440_GPE12_SPIMOSI0); s3c2440_gpio_cfgpin (S3C2440_GPE13,S3C2440_GPE13_SPICLK0); s3c2440_gpio_cfgpin (S3C2440_GPG2,S3C2440_GPG2_INP);//设置nSS s3c2440_gpio_cfgpin(S3C2440_GPB10, S3C2440_GPB10_OUTP);//设置片选信号 s3c2440_gpio_setpin(S3C2440_GPB10,1); 2.2SPI写操作 写操作主要是将上层应用部分的用户空间中的数据拷贝到内核空间中的环形缓冲区中,此后将缓冲区的数据送到SPI发送寄存器中,在SPI发送完一个数据后,系统产生中断,中断例程中的下半部将调用tasklet判断缓冲区状态。若缓冲区中有相应的空间,可以将下一数据填入SPI发送寄存器中,直至将缓冲区数据全部发送完毕。 本设计的写操作实现了环形缓冲区的动态管理,即在缓冲区删除数据、尾指针前移的情况下,允许向缓冲区添加数据,头指针前移。此设计可以使用户空间任务与内核空间的数据发送同时进行,提高了用户空间任务执行效率,并且当利用copy_from_user函数将数据从用户空间拷贝至内核空间时,数据发送仍在进行,即数据从用户空间至内核空间拷贝过程与数据发送过程并发,提高了驱动程序效率。 为了实现环形缓冲区动态管理,定义了copy_to_Tx_buf_init和copy_to_Tx_buf两个函数完成数据向缓冲区的复制操作。 (1)copy_to_Tx_buf_init函数。本函数主要用于两种情况: ①如果缓冲区为空,当有一组数据到来且此数据的大小小于缓冲区的空间大小时,直接将此数据放到缓冲区中。 ②如果发送数据的大小大于剩余缓冲区的空间,则只复制缓冲区大小的数据到缓冲区。 缓冲区满,该进程进行睡眠操作,直到缓冲区所有数据发送完毕,缓冲区再次为空,当前进程被唤醒,将此组用户数据的未发送部分复制到缓冲区,继续发送。 (2)copy_to_Tx_buf函数。此函数主要用于缓冲区正在发送且未发送完毕的情况,将新一组用户数据copy至缓冲区。首先计算缓冲区剩余空间,若剩余空间大于本组用户数据大小,则直接将用户数据全部copy至缓冲区;若剩余空间小于本组数据大小,则copy与剩余空间大小相同的用户数据至缓冲区。 写操作的具体流程如图1所示,首先用户数据从空间态转换到内核态,并设置相应的接收标志位。此后判断数据大小。若数据大于缓冲区空间,数据发生溢出,写操作结束;若没有溢出,为了保证进程间的数据,使得该进程获得自旋锁,此时判断缓冲区是否为空。根据上面两个函数的介绍,在不同情况下分别调用不同的函数,在数据写入环形缓冲区后,将数据发送到SPI的发送寄存器。当SPI发送寄存器发送数据时,环形缓冲区依旧接收数据,如果此时缓冲区为满,则释放自旋锁,并设置进程等待标志位(wait_Tx_done),将此进程休眠,直到发送寄存器中的数据发送完毕,再唤醒进程,判断数据是否全部发送完毕。若仍有数据等待发送,则调用copy_to_Tx_buf_int;若数据已全部发送完毕,则写操作结束。若缓冲区不为满,则判断数据是否发送完毕。数据全部发送完毕,发送操作结束。 2.3SPI读操作 读操作是连续读取主SPI发送到从SPI的接收缓冲区中的数据,并将其传送给用户空间。具体流程如图2所示。首先判断操作标志位spi_Rec_en,若此位为0,说明此时驱动正处于发送状态,则将发送进程等待标志位(wait_Tx_done)置1,读进程进入休眠状态即放入等待队列中,等待中断处理函数中相关发送程序唤醒。若操作标志位不为1,读进程首先获得自旋锁,判断数据大小。若数据大小不为0且不超过缓冲区大小,则按照S3C2440接收数据的要求,向SPI发送寄存器写入第一个dummy数据(0xff)。此后,将接收进程等待标志位(wait_Rec_done)置1,释放自旋锁,并将此进程加入等待队列进行休眠,直到用户要求的所有数据已发送至接收缓冲区后,由中断处理函数唤醒该进程,最后将接收区中的数据放到临时接收缓存中,以便于其他操作读取。 3SPI驱动程序测试 SPI驱动程序主要通过调用写操作,使SPI连续发送数据0x55,此后再调用SPI读操作,将MISO上的串行数据读入用户缓冲区,并与实际数据进行比较。图3为示波器测试MOSI引脚波形。图中波形1为SCK信号,ARM系统时钟为40MHz,SPI的SCK信号为系统时钟的256分频,约为156kHz;波形2为MOSI信号,SPI从低位向高位串行移位。通过波形可以看出,SPI驱动能够准确地完成读写操作,验证了其正确性。

    时间:2021-03-23 关键词: S3C2440 Linux ARM

  • 基于MC9328MX1嵌入式最小系统设计

    基于MC9328MX1嵌入式最小系统设计

    引言 嵌入式系统是以实际应用为核心,对功能、可靠性、成本、体积、功耗有严格要求的专业计算机系统,随着嵌入式系统相关技术的迅速发展,嵌入式系统功能越来越强,应用接口更加丰富,根据实际应用的需要设计出特定的嵌入式最小系统和应用系统,是嵌入式系统设计人员应具备的能力,由于ARM嵌入式体系的结构的一致性以及外围电路的通用性,采用ARM内核的嵌入式最小系统的设计原则和设计方法基本相同,本文基于MC9328MX1芯片介绍ARM嵌入式最小系统设计的一般方法。 1 MC9328MX1概述 MC9328MX1是Motorola公司基于ARM920T的龙珠(Dragon Ball)MX1处理器,MC9328MX1内含ARM公司设计的16/32bit ARM920T微处理器内核,采用RISC架构的ARM微处理器具有体积小、功耗低、性价比高的特点,主要应用于高级信息处理设备、智能电话、网页浏览器、数字多媒体播放器、基于流行的Palm OS操作平台的手提计算机和无线通信发射、接收设备等。 MC9328MX1的结构框图如图1所示。 MC9328MX1的体系结构如下:全16/32bit RISC架构,内含效率高、功耗强大的ARM920T的处理器核,支持16bit Thumb和32bit ARM指令集的高性能RISC引擎,支持大、小端模式,内部架构为大端模式,外部存储器可分为大、小端模式,基于JTAG接口的方案,边界扫描接口,用于嵌入式多媒体应用集成系统。 MC9328MX1的系统关系特性为:一体化的16KB指令Cache及16KB数据Cache,支持虚拟地址转换存储器管理单元(VMMU),支持 ROM/SRAM、Flash存储器、DRAM和外部I/O以8/16/32bit的方式操作,支持EDO/常规或SDRAM存储器,使用ARM先进的微控制器总线结构(AMBA),即SoC多主总线接口,利用精简先进的高性能总线(R-AHB)与速度较慢的片上外围设备进行通信,可同时连接15个外部设备。 尽管嵌入式处理器芯片种类多,引脚繁杂,但根据它们各自的功能特点,因该分布是有规律的,在嵌入式最小硬件系统设计中,要注意区分处理器芯片引脚的类型,仔细分析研究关键引脚作用,才能保障最小系统的正常运行。 MC9328MX1采用MAPBGA封装,共有256引脚,MC9328MX1的引脚可分为电源、接地、输入(I)、输出(O)、输入/输出(I/O)5 类。除了电源和接地线有近40根,以及地址总线,数据总线和通用I/O接口端,专用模块SPI、UART、I2C、LCD等接口,需要认真仔细研究的引脚不是很多,电源和接地端是保障系统正常工作最基本的条件之一,输入类型的有些引脚在系统设计时必须认真仔细对待,因为有些电平信号直接影响到 MC9328MX1的正常工作,输出类型的引脚主要用于对外设的控制或通信,由MC9328MX1主动发出,对MC9328MX1自身的运行不会有太大的影响,输入/输出类型引脚是MC9328MX1与外设的双向数据传输通道。 2 嵌入式最小系统 以ARM内核嵌入式微处理器为中心,具有完全相配接的Flash电路、SDRAM电路、JTAG电路、电源电路、晶振电路、复位信号电路和系统总线扩展等,保证嵌入式微处理器正常运行的系统,可称为嵌入式最小系统。 嵌入式最小系统硬件结构图如图2所示。 嵌入式小系统硬件功能如下: 微处理器:MC9328MX1是系统工作和控制中心; 电源电路:为MC9328MX1核心部分提供所需的1.80V工作电压,为部分外围芯片提供3.0V的工作电压; 晶振电路:为微处理器及其他电路提供工作时钟,及系统中MC9328MX1芯片使用32KHz或32.768KHz无源晶振; Flash存储器:存放嵌入式操作系统、用户应用程序或者其他在系统掉电后需要保存的用户数据等; SDRAM:作为系统运行时的主要区域,系统及用户数据、堆栈均位于该存储器中; 串行接口:用于MX1系统与其他应用系统的短距离双向串行通信; JTAG接口:对芯片内部所有部件进行访问,通过该接口对系统进行调试、编程等; 系统总线扩展:引出地址总线、数据总线和必须的控制总线,便于用户根据自身的特定需求,扩展外围电路。 3 最小系统硬件的选择和单元电路的设计 3.1 电源电路设计 电源电路是整个系统正常工作的基础,设计的电源电路必须满足系统对该电路性能指标的要求。MC9328MX1核心部分需1.80V工作电压,部分外围芯片需3.30V工作电压,根据要求输入5V直流电压经DC-DC变换,分别为系统提供1.80V和3.30V的工作电压,不同系统根据实际功耗,选择器件设计电源电路,电源电路如图3所示。 3.2 晶振电路与复位电路设计 晶振电路为微处理器及其他电路提供工作时钟,是系统必须的重要电路,MC9328MX1使用32KHz无源晶振,32KHz晶振频率输入 MC9328MX1后,经PLL(锁相环)倍频后达到16.384MHz,并输入系统PLL及MCU PLL。MCU PLL将输入的16.384MHz倍频到最高192MHz,提供给ARM内核使用,系统晶振电路如图4所示。 复位电路主要完成系统的上电复位和系统在运行时用户的按键复位功能,本系统采用较简单的RC复位电路,复位电路如图5所示。 3.3 lash存储器接口电路设计 Flash存储器在系统中通常用于存放程序代码、常量表以及一些在系统掉电后需要保存的数据等。Flash接口电路是最小系统设计中至关重要的电路。 常用的Flash存储器为8bit/16bit数据宽度,工作电压一般为3.3V,主要生产厂商为Intel、Atmel、Hyundai等,他们生产的同类器件一般具有相同的电气特性和封装形式,可根据需要选用。 为了充分发挥32bit MC9328MX1性能优势,直接采用1片32bit数据宽度的Flash存储器芯片,也可采用2片16bit数据宽度的Flash存储器芯片并联构建 32bit的Flash存储器系统,16bit Flash存储器系统的构建方法与32bit Flash存储器系统相似,本系统使用2片28F320J3A组成32bit Flash存储器32bit Flash存储器系统如图6所示。 2片28F320J3A,其中一片为高16bit,另一片为低16bit,作为整体配置到MC9328MX1外围接口模块CS0空间,将 MC9328MX1的#CS接至2片28F320J3A的CE0端,CE1、CE2接地;2片28F320J3A的地址总线[A21-A1]均与 MC9328MX1的地址总线[A22-A01]相连,低16bit片的数据总线与MC9328MX1的低16bit数据总线[D15-D00]连接,高 16bit片的数据总线与MC9328MX1的高16bit数据总线[D31-D16]连接;2片28F320J3A的RP#端接VCC;2片 28F320J3A的OE端接MC9328MX1的#OE;2片28F320J3A的WE端接MC9328MX1的#EB;2片28F320J3A的 BYTE均上拉,使之工作在字模式。 3.4 SDRAM接口电路设计 与Flash存储器相比较,SDRAM虽然不具有掉电保持数据的特性,但其存取速度大大高于Flash存储器,并且具有读/写属性,SDRAM在系统中主要用作程序的运行空间、数据及堆栈区。因此,SDRAM接口电路在最小系统设计中必须高度重视。 目前常用的SDRAM为8bit/16bit数据宽度、工作电压一般为3.3V,主要生产厂商为Samsung、HYUNDAI、Winbond等,若同类器件具有相同的电气特性和封装形式可通用。但在使用SDRAM时要注意ARM芯片是否具有独立的SDRAM的刷新控制逻辑,若有可直接与SDRAM接口,若无则不能直接与SDRAM连接。 根据系统的需求,可构建16bit或32bit的SDRAM存储器系统,本系统采用2片K4S281632并联构建32bit的SDRAM存储器系统,单片K4S281632为16bit数据宽度、容量16MB,2片容量共32MB的SDRAM空间,可满足嵌入式操作系统及各种较复杂运行的运行需求,使用 2片K4S281632构建32bit的SDRAM系统电路如图7所示。 2片K4S281632,其中一片为高16bit,另一片为低16bit。2片K4S281632作为一整体配接到DRAM/SDRAM的CSD0,将 MC9328MX1的#CSD接至2片K4S281632的CS端,2片K4S281632的CLK端接MC9328MX1的SDCLK端,2片 K4S281632的CLE端接MC9328MX1的SDCKE端;2片K4S281632的RAS、CAS、WE端分别接MC9328MX1的RAS、 CAS、SDWE端,2片K4S281632的地址总线[A08-A00]接MC9328MX1的[A10-A02];2片K4S281632的地址总线 [A10-A09]接MC9328MX1的[MA11-MA10];2片K4S281632的地址总线[A11]接MC9328MX1的[A12];2片 K4S241632的BA1、BA0接MC9328MX1的地址总线[A14-A13];高16bit片的[DQ15-DQ0]接MC9328MX1的数据总线[D31-D16]、低16bit片的[DQ15-DQ0]接MC9328MX1的数据总线[D15-D0];高16bit片的UDQM、LDQM 分别接MC9328MX1的DQM3、DQM2,低16bit片的UDQM、LDQM分别接MC9328MX1的DQM1、DQM0。 3.5 串行接口电路设计 MC9328MX1提供了串行接口,使用RS-232标准接口,近距离通信系统中可直接进行端对端的连接,但由于MC9328MX1系统中LVTTL电路的逻辑电平与RS-232标准逻辑电平不相匹配,二者间要进行正常的通信必须经过信号电平转换,本系统使用MAX3221电平转换电路,以RS-232标准9芯D型接口为例,要完成最基本的串行通信功能,只需要RXD(数据接收)、TXD(数据发送)和GND(地)端即可。串行接口电路如图8所示。 3.6 JTAG接口电路设计 JTAG技术是一种嵌入式调试技术,芯片内部封装了专门的测试电路TAP(测试访问口),通过专用的JTAG测试工具对内部节点进行测试和控制,目前大多数ARM器件支持JTAG协议,标准JTAG接口是4线;TMS(测试模式选择)、TCK(测试时钟)、TDI(测试数据串行输入)、TDO(测试数据串行输出)。JTAG接口的连接有两种标准,即14针JTAG接口与MC9328MX1连接电路。这样,基于MC9328MX1嵌入式最小系统设计完成了。

    时间:2021-03-21 关键词: 嵌入式最小系统 MC9328MX1 ARM

  • 基于ARM的嵌入式车载GPS定位系统设计

    基于ARM的嵌入式车载GPS定位系统设计

    0 前言 车载定位系统作为车载信息系统的重要部分,利用GPS等装置,以一定精度实现车辆定位,包含位置、速度和行车方向等车辆姿态信息。继一些国家之后,我国一些科研院所和高校也开始研究自己的车载定位系统,市场空前的繁荣。但是传统系统功能单一、集成度不高。随着ARM处理器在全球范围的流行,32位的RISC嵌入式处理器已经成为嵌入式应用和设计的主流。同时嵌入式Linux是一个非常好的免费的操作系统内核,具有稳定、良好的移植性、优秀的网络功能、完备的各种文件系统的支持、以及标准丰富的API等特点。因此,本文提供了一套具有先进性及工程实用性的车载定位系统整体解决方案,使得系统的性能、集成度和可扩展性大大提高。 1 系统的硬件设计 1.1 系统的整体硬件设计 本文车载信息系统由以下几部分组成:主控制部分、定位部分、通信部分、数据采集部分、显示部分,如图1所示。 主控制部分采用了三星公司基于ARM920T的S3C2410和Linux的嵌入式系统平台,完成整个系统的控制。其主要包括电源电路、时钟电路、复位电路、存储模块电路、JTAG接口电路、串行口电路、LCD接口、SPI接口以及按键电路的设计。主控模块通过串行口、SPI接口、LCD接口与扩展模块相连接构成整个硬件系统。 1.2 GPS模块的硬件设计与制作 定位部分采用了自行设计和制作了基于瑞士U-BLOX公司LEA-4S芯片的GPS接收模块。在此给出了GPS接收模块的整体设计,如图2所示。 u-blox的GPS部分分为两部分。采取数字/模拟分开设计的方法,有效提高了模块的抗干扰能力。在硬件的设计制作过程中。也是分为两步,即模块部分和数字部分。模拟部分主要由天线接入端及天线供电部分/检测电路构成。 天线选用3v供电的有源天线,增益27dB左右,噪声系数1.5dB左右。天线接入模块较为复杂,从GPS有源天线接收的信号频率高选1.575C,属于微渡范围。PCB设计需要满足天线座到模块RF_IN端的阻抗匹配为50Ω。 模块供电电源稳压电路为5v转3v的五脚LDO,对电压稳定精度较高,要求输出纹波在50mV以下,电流为150mA左右,这里选用精工的SOT-23-5封装的LDO S-11123.0V,能满足电源供应的要求。后备3V可充电微型锂电池则为数据保存作用。 选择电路为波特率的选择及速率选择。或是启动速度之类的选择,一般可以用默认值。 数字部分硬件相对简单,LEA-4S为两路TTL电平输出,分别为9600/11520波特率,分别支持国际通用GPS协议NMEA及u-blox公司的UBX二进制格式。在本设计中,通过串口O提取ASCII码,串口数据通过MAX232电平转换为RS232电平。另外,将GPS模块的发送端和接收端经电平转换后与审口DB9交叉相连。 2软件平台的搭建 系统的软件平台的搭建其实就是嵌入式linux操作系统的移植移植工作,主要包括4步:建立交叉编译环境,移植引导程序,编译内核,生成根文件系统。 交叉编译工具主要由gcc,binutils和glibc这几部分组成。由于重新建立一个交叉编译工具链比较复杂也没有任何意义,所以本文使用已经做好的工具链。因此建立交叉编译环境的过程实际就是对工具包cross-3.3.2.tar.bz2解包的过程。 本文移植的Bootloader是韩国Mizi公司开发的vivi.首先在根目录下创建一个armsys2410目录,对vivi_armsys.tgz执行解压命令。解压完成后进人vivi_armsys.执行命令makememmonfig,然后选择"Load on Alternate Configuration File"菜单,再写入arch/def-co-igs/smdk2410,进行vivi的裁剪。执行make命令进行编译,在vivi_armsys目录下生成vivi二进制文件。最后将其烧写到Flash. 内核的编译通过命令make menueorffig进行内核的配置;通过命令make dep建立依赖关系;通过命令make zlmage建立内核。得到Linux内核压缩映像zhnage.最后通过vivi命令提示模式下使用下载命令,将压缩映像文件zlmge装载到flash存储器中。 Linux支持多种文件系统。cramfs是Linus Torvalds撰写的只具备最基本特性的文件系统。本文使用mkcramfs工具对主机里已有cramfs文件系统进行制作和压缩。最后也要烧写到flash的相应部分。 3 GPS模块驱动程序的开发 Linux将设备分为最基本的两大类,字符设备和块设备。字符设备是单个字节为单位进行顺序读写操作,通常不使用缓冲技术;而块设备则是以固定大小的数据块进行存储和读的。 GPS模块驱动程序是在UART驱动程序的基础上加入对GPS模块初始化和对GPS模块输出数据处理的部分,构建一个独立的驱动模块,在导航系统进实时导航工作模式时挂接到系统内核中,实现GPS功能。 3.1 初始化/清除模块 在初始化程序段中要完成对GPS设备的注册,设备节点的创建和对串口相关寄存器的初始化。部分代码如下: 3.2 两个数据结构定义 模块驱动的最终目的就是取得GPS信息,因此规范GPS数据是对数据传递的可靠性和速率都是有益的。 struct GPS_DATA{ unsigned int hour;//小时,24小时制 unsigned int minute;//分 unsigned long Second;//秒,精度小数点后三位 unsigned long latitude;//纬度 unsigned char southornorth;//纬度属于南北的标志码 unsigned long longitude;//经度 unsigned char eastorwest;//经度属于东西的标志码 };//其中包括了在导航系统中所需的几个重要数据。 另外还有对驱动模块文件操作结构的定义。即: static struct file_operations gps_fops={ead:gps_read, rite:gps_write, octl:gps_ioctl, open:gps_open, elease:gps_release, };//定义了设备操作映射函数结构。 3.3 驱动程序的模块操作 在导航系统进入GPS导航模式时,系统首先是将GPS模块注册到操作系统中,实现初始化过程,再通过gps_open函数打开设备,此过程中完成对中断、缓冲区以及定时器等资源的申请,为GPS数据读取做准备。通过gps_write()向模块写命令字来是自主地选择工作模式,gps_ioctl()则是选择串口传输模式,使之与GPS模块传输模式相匹配。之后的应用程序将创立一个独立的进程为进行GPS数据的读取gps_read(),该进程没有数据时进程会一直处于睡眠等待数据,有数据来,进入中断处理模块,完成数据的分析,生成GPS_DATA数据结构,供导航使用。这个进程是随着导航模式的切换而终止的,此时除了关闭进程外,还需要用gps_release()释放申请的所有资源,并关闭设备。 3.4应用程序的实现 GPS模块通过串口输出NMEAO183语句,而应用程序主要完成对GPS数据的采集与解析。NMEA0183输出语句多达十余种,任意一种定位语句都包含一定的定位数据,由于以"$GPRMC"开头的语句包含了本系统所需的所有定位信息,本系统只需研究该类型。该类型定位数据的各个符号位的含义如下所示。 应用程序的整体设计流程如图3所示。 从图3可以看出,系统开始运行后首先对串口的初始化就是对GPS模块韧始化,包括设置波特率、数据位、校验位等,然后开始接收GPS数据。即从串口读数据。井将读到的数据保存到BUF中;接着进入数据的解析和提取阶段。通过BUF等不等于"c"判断是苦为$GPRMC;若是,则开始提取经纬度、时间等信息并存入结构体GPS_DATA中。最后通过LCD显示出来。 4 结束语 本文给出了基于ARM9和嵌入式操作系统Linux下,GPS定位系统的整体解决方案。包括了系统的整体设计,GPS模块制作方案,开发平台搭建以及GPS驱动程序和应用程序的设计。较市场上的车载定位系统相比,本设计在功能性、可扩展性和稳定性上都有所提高。由本系统作为基础,车载定位系统的下一步工作将可以专注于应用程序的编写,包括提高GPS定位精度的算法,以及开发更加友好的人机交互界面。

    时间:2021-03-21 关键词: 嵌入式 车载GPS定位系统 ARM

  • 基于ARM的数字电视射频信号功率检测器设计

    基于ARM的数字电视射频信号功率检测器设计

    1 模拟、数字电视信道功率区别 模拟电视广播,用峰值功率电平表征频道信号的强弱。测量模拟电视发射机输出信号功率电平时,使用频谱仪对信号同步脉冲的峰值电平进行测量。因为这里集中了信号在频道内的主要能量(超过98%),所以可以认为对载波同步脉冲的测量可以代表信号在测量频道内的电平值。 数字电视广播用信道功率表征频道信号的功率强弱。数字电视调制信号类似噪声,信号在调制到射频载波前被进行了随机化处理。由于数字信号以噪声形式出现,它更像随机加入到频域测试设备中的一组组脉冲,所以采用信道平均功率判断信号强弱。 数字电视信号有较高的峰均比,如表1所示。如果测量中仍测其峰值功率电平,则测的的数据会与信道平均功率有较大误差。因此,数字电视信号的测量应测其平均功率。 2 功率检测器系统总体设计 数字电视射频信号功率检测器主要由3个部分组成:带通滤波器、RF功率检测模块和系统控制与显示模块。其框图如图1所示。 数字电视发射机功率检测器用ARM S3C4480X芯片作为其核心控制器,内部的宽带滤波器用微带线滤波器实现,RF功率检测用专业的功率检测芯片AD8362实现,模数转换用双通道、12位高速ADC芯片实现,显示用128×64像素点单色LCD显示器实现。 框图中共有2组带通滤波器+功率检测模块组合,分别用来检测一个频道的RF信号入、反射功率大小。若系统需要同时检测多个频道的RF入、反射功率,则可以增加带通滤波器+功率检测模块组合及ADC模块数量。 耦合而来的RF信号先进入数字电视射频信号功率检测器中的带通滤波器(UHF波段特定中心频率、带宽8MHz)。经过滤波后,某一特定频道的RF信号再送入功率检测模块,检测后输出信号强度模拟电平,该功率检测模块可以检测数字信号的真有效值功率,检测动态范围高达60d B。ADC芯片将送来的RF功率强度模拟检测电平转换为数字信号输出,该ADC芯片具有2个12位的高速逐次逼近型ADC模块,采样速率高达2MSP S。ARM控制器控制整个功率检测器的功率检测及显示功能,ARM控制器接收ADC送来的数字信号,经运算处理后,最终将结果显示在LCD显示模块上,ARM控制器采用16/32位ARM7TDMI内核,主频66MHz,集成8KB高速缓冲器、外部存储器控制器、LCD控制器等模块。 3 硬件设计 3.1 输入保护电路 在整个功率检测器的输入端,增加了输入功率过载保护电路。当输入的RF信号功率过大时,该保护电路将会自动限制输入信号的功率,达到保护后级检测电路不受损伤的目的。输入过载保护电路由肖特基增强型PIN限幅器、射频变压器组成。当输入RF功率低于门限电平时,信号能够正常通过保护电路;当输入RF功率达到或超过门限电平时,保护电路会自动将输入功率限制在最大允许功率电平上,保证后级电路正常工作。该保护电路具有宽工作频率200~1400MHz,低功率限制电平约6.05dBm,能够满足广播电视频段应用的需求。 肖特基增强型PIN限幅器采用ASML-5829,限幅器中有一PIN二极管和一肖特基二极管,两二极管如图反向并联在输入电路上,当RF信号低于限制门限,肖特基二极管上电流很小,导致PIN二极管的结电阻很大,RF信号便能无损耗地向后级传输;当RF信号增大到限制门限,肖特基二极管电流升高,导致PIN二极管结电阻减小,大部分RF信号入射功率经PIN二极管被反射回输入源。射频变压器采用TC4-14+,次级初级绕阻比为4,因此变压器即能起到放大信号的作用,又能起到阻抗匹配的作用。输入过载保护电路在整个工作频段内,插损最大约-2.8dB,回波损耗最小约-18dB。 3.2 功率检测 3.2.1 均方根检波器AD8362 AD8362是一个真有效值功率检测器,其检测输出的线性直流电压正比于输入信号功率大小,输出与输入信号的峰均比无关,具有60dB测量范围。它被用于各种不同高频通信系统和对信号功率要求准确相应的仪器中。该芯片简单易用,只要单5V电源供电和一些电容。它可以在任意低频至2.7GHz频率中工作,可以接受从1mV~1V有效值的信号输入。被测信号的峰值因数可以高达6,超过了对CDMA信号精确测量的要求。AD8362能够测量射频信号的有效值功率,为理想的数字电视射频信号功率检测器。 AD8362具有以下特性:1)完全精准测量/控制系统;2)精准的RMS转直流(50Hz~2.7GHz);3)输入动态范围大于60dB(50 Ω下,-52~8dBm):4)独立的波形和调制(GSM/CDMA/TDMA等);5)线性的分贝输出(50mV/dB);6)0.5dB偏差;7)不同温度和供电下功能稳定(4.5~5V在24mA,-40~+85℃);8)待机状态1.3mW。 AD8362既能用于功放线性控制,也能用于射频功率检测。当用于功率检测时,其VOUT脚与VSET脚应直连,此时输出是正比于输入rms对数值,斜率50mV/dB。当用于功放线性控制时,VOUT脚与VSET脚独立,功放通过AD8362的VOUT输出来改变自身的增益,达到功率输出线性的目的。 3.2.2 功率检测电路 AD8362提供测量模式和控制模式两种工作模式。在控制模式下,AD8362可监视可变增益功放的输出,并通过设定VSET脚上的电压,控制调节功放增益,使功放输出到一个理想的目标值。当输入大于VSET脚设定值,VOUT置逻辑高电平,当输入小于VSET脚设定值,VOUT置逻辑低电平。在测量模式下,AD8362仅检测RF的功率大小,VSET脚与VOUT脚短路。本设计采用测量工作模式,检测电路如图3所示。 AD8362的输入可以是差分输入或单端输入,如果要配置为差分输入模式,输入电路前还需增加BALUN(非平衡转平衡转换器),这里我们使用单端输入模式。VOUT经过运放放大后送出检测电压值PWR_DET。当VSET脚与VOUT脚短路连接时,输出电压与输入信号电平呈线性对数关系(斜率50mV/dB),对于输入信号为-60dBm(截距)时,VOUT输出为0V。输出电压可用如下公式表示: VOUT=(PIN-PZ)×50mV PIN为输入信号的功率,PZ(截距)为输出为0V时的输入信号功率,两者单位均为dBm。通常PZ为-60dBm。 本设计中,VSET脚与VOUT脚并未直接短路连接,而是通过一个电阻相连,且在VSET脚上加了一个配置电压(截距重定位电压)。这样,便可以增加输出电压公式中的斜率,以便更适应特定的功率检测环境。当然,这样的电路连接也会降低检测的动态范围。 由于VOUT、VSET连接改变,斜率有所变化。另一方面,由于阻抗失配和衰减等因素,测量可能会有误差,因此,需要对测量电路的计算公式做校正,重新计算公式中的斜率(SLOPE)和截距(INTERCEPT)。校正方法是施加连个接近AD8362线性输入范围端点的已知信号电平,然后测量输出电压。根据AD8362线性范围选择两个输入信号电平为PIN1=-60dBm,PIN2=-30dBm,并分别测得电路输出电平为VOUT1和VOUT2。则可以通过以下公式计算斜率和截距: 检波器输出给后级的双路,12BIT ADC处理,将检测直流电压变为数字信号经过SPI接口送至MCU主控制器。 3.3 系统控制 整个功率检测器选用三星公司的16/32位RISC处理器S3C4480X(66MHz)作为系统控制器。S3C44BOX采用ARM7TDMI内核,0.25 μm工艺的CMOS标准宏单元和存储编译器,为手持设备和一般类型的应用提供了高性价比和高性能的微控制器解决方案。该处理器提供了丰富的内置部件:8KBcache、内部SRAM、LCD控制器、71个通用I/O接口、RTC、10位ADC、自动握手的2通道UART、I2C总线接口等。系统控制器执行功率检测程序,并控制检测电路对射频信号功率的采集,将功率检测结果显示在LCD模块上。LCD模块选用128×64像素的LCD屏,共能显示4行中英文字符。且通过软件控制,可以实现定时刷屏,这样就能实时显示射频信号功率的检测结果了。 4 软件设计 功率检测软件执行的流程如图4所示。系统先初始化功率检测模块、ADC模块、LCD模块等,使所有模块进入正常工作状态。MCU采集射频信号的入、反射功率检测数据,对数据进行判断是否超过测量线性范围,如超过,则显示超过测量范围,此时可按“重新检测”按钮使系统重新检测功率;如未超过,则由采集数据计算功率值的大小。系统对功率值继续判断其是否在设定门限范围内,如超过,则显示异常功率值大小及功率异常报警,此时仍可按“重新检测”按钮使系统重新检测功率;如未超过,则显示正常的功率值大小。如果检测的功率值正常, 系统默认是按周期循环检测,使维护人员能够实时查看入、反射功率状态,同时也可按“停止循环检测”按钮随时停止循环检测程序,使显示保持当前状态。 5 小结 本设计的数字电视射频信号功率检测器能够准确实时测量地面数字电视射频信号功率大小,并具有功率异常报警功能,为维护人员提供有效监测手段,提高维护效率,保障安全播出。本检测器检测准确、结构简单、运行稳定,具有一定的应用前景。

    时间:2021-03-21 关键词: 数字电视 射频信号 功率检测器 ARM

  • ARM嵌入式汽车节能控制系统设计

    ARM嵌入式汽车节能控制系统设计

    系统工作原理 本系统主要由三部分组成,即检测部分,控制部分和执行机构。检测部分包括踏板位置传感器、曲轴位置传感器、压缩机活塞位置传感器、汽车运行速度传感器、储气罐压力传感器等信号的检测。执行机构主要包括双向可控电磁阀和电磁离合器。控制部分主要由ARM微处理器组成的控制系统及一些外围电路构成。本文主要介绍该系统的控制部分。该装置的作用就是将刹车时本应由摩擦来消耗掉的汽车动能,改为由气体的势能来消耗,在启动时,利用刹车时储气罐内储存的高压气体势能来驱动汽车行走,当车速到达一定值如20km/h时,再切换到由汽车发动机驱动的模式。 系统硬件设计 由于该节能装置需检测的模拟量较多,如储气罐内的压力、制动踏板的位置、车速、活塞运行位置和油门踏板位置等数据,而且有些是需实时监控的,如储气罐内的压力等,需要使用多任务执行方可实现,而普通单片机无法满足这一要求。因此需根据实际情况,选用合适的处理器芯片,加上各种数据和程序存储芯片构成最小系统。同时,增加数据采集、显示、通信接口、控制执行单元和电源管理模块等,来组成一个完整的控制系统。由于目前汽车应用CAN现场总线比较广泛,因此,为了与汽车的控制系统连接的方便,还增加了CAN总线接口,由此构成了整个硬件系统。系统的总体框图如图1所示。 S3C44BOX 由于设计要求系统能随车采集信号,并进行实时监控,对主控模块的要求较高,因此主控制模块应当是以高性能的微处理器为核心而组成的一个最小系统。根据具体应用的要求,实际应用的反映情况,选用了Samsung公司的ARM芯片S3C44BOX,其主要性能如下: Samsung公司推出的16/32位RISC处理器S3C44BOX为一般类型的应用提供了高性价比和高性能的微控制器解决方案。为了降低成本,S3C44BOX提供了丰富的内置部件,包括:8KB的Cache,内部SRAM, LCD控制器,带自动握手的2通道DART, 4通道DMA,系统管理器(片选逻辑,FP/EDO/SDRAM控制器),带有PWM功能的5通道定时器,I/O端口,RTC, 8通道10位ADC,IIC-BUS接口,IIS-BUS接口,同步SIO接口和PLL倍频器。 S3C44BOX的突出特性是它的CPU核,是由ARM公司设计的16/32位ARM7TDMI RISC处理器(66MHz)。ARM7TDMI体系结构的特点是它集成了Thumb代码压缩器,ICE (In Circuit Emulator)断点调试支持,和一个32位的硬件乘法器。 数据采集单元 数据采集单元的作用就是对需要的模拟信号进行采集、处理后送到处理器进行处理。在该单元中,核心是对模拟信号的调理。由于系统要采集到汽车的储气罐内的压力数据、制动踏板的位置数据、车速、离合器切合位置和油门踏板位置等数据,因此需要多路数据采集通道。各通道的数据必须完成信号的调理后,才能送到处理器进行处理。该采集单元的信号采集通道框图如图2所示。 控制执行单元 控制执行单元的功能主要是接收处理器发出的数字量,经过隔离及驱动后,送到执行机构如电磁阀、继电器、离合器等来使行相应的动作。功能框图如图3所示。 这一级相对来说较为简单,但为了防止外界对系统的干扰,须采用隔离。隔离器件采用普通的光电祸器即可,系统中采用TLP521-1。 数据显示模块 在系统的设计中,为了对采集的数据进行监控,使得调试更为方便、直观,因此增加了数据显示模块。S3C44BOX集成了LCD (Liquid Cristal Display)控制器,该控制器支持在LCD上的单色、4级、16级灰度、256色的显示,具有很强的通用性,S3C44BOX的LCD控制器的作用是将缓存中的数据传送到外部的LCD驱动器,并产生必须的LCD控制信号。LCD控制器可以编程支持不同水平和垂直点数 (640×480,320×240,160×160等)、不同数据线宽度、不同接口时序和刷新速率的LCD,支持4位双扫描、4位单扫描、8位单扫描模式,并支持水平/垂直滚动,以用来支持更大的屏幕显示(如1280× 1280)。 由于不同尺寸的LCD具有不同数量的垂直和水平象素、数据接口、数据宽度、接口时间和刷新率,S3C44BOX中的LCD控制器可以对相应的寄存器值进行编程,以适应不同的LCD显示板。LCD控制器逻辑框图如下图4所示。 电源模块 在本系统设计中,由外部供给系统单一的9V电源,通过三端稳压AS1117-5.0, AS1117-3.3和AS1117-2.5,分别得到5.0V, 3.3V以及2.5V。AS1117系列稳压器最大能提供800mA电流,由于本系统功耗较低,最大需求电流不超过300mA,因此用AS1117足以满足系统的供电需求。另外的两套±15V电源由DC/DC变换器供给。考虑到系统中有数字电路和模拟电路,由于数字电路的电流变化较快,容易产生脉冲干扰,从而影响模拟信号的采样精度,因此应把数字地和模拟地分开。 调试接口 S3C44BOX内嵌JTAG测试电路,使得调试起来非常方便。JTAG是一种国际标准测试协议,主要用于芯片内部测试及 对系统进行仿真、调试,JTAG技术是一种嵌入式调试技术,它在芯片内部封装了专门的测试电路TAP (Test Access Port,测试访问口),通过专用的JTAG测试工具对内部节点进行测试。JTAG测试允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试。JTAG接口还常用于实现ISP(In System Programmable)功能,如对Flash器件进行编程等。 目前JTAG接口的连接有两种标准,即14针接口和20针接口,在本设计中,采用的是14针的接口。该接口主要通过下载电路与计算机的并行口相连,在集成开发环境之下,使用相应的JTAG下载代理软件就可以用来进行系统调试,而不需专门的仿真器,这样可以降低开发的成本。 通信单元 在系统设计中,考虑到数据传送、下载以及调试的方便,增加了串行通信RS-232C接口。另外,考虑到系统升级的方便,以及为了与现在流行的汽车总线接口的方便,增加了CAN现场总线的接口。 本系统中选用MAX232。MAX232可以实现TTL电平和RS-232电平之间的转换。由于在实际应用中,器件对电源噪声很敏感,因此MAX232的VCC引脚必须要对地加0.lmF去耦电容,另外,为提高抗干扰能力,添加了四个l0mF电容,在连接在内部电源引脚输出端。MAX232芯片第7, 8引脚接入分别到串行口的第3, 2引脚;9, 10引脚接处理器的RXD, TXD引脚,实现与处理器的连接。 需要注意的是,MAX232是5V器件,而处理器芯片是用的是3V供电,因此需要考虑电平转换,否则将无法正常收发数据。由于Maxim公司已经注意到这点并推出了专用3V供电的器件MAX3232C,利用它就可以无需考率3V到5V的电平转换问题。MAX3232C与处理器的接口电路如图5所示。 系统软件设计 在本系统中,主程序是整个程序的核心,担负着系统的运行、控制的主要任务,需要对其控制流程进行仔细考虑,以完成所需的控制要求。 在程序开始时,首先对系统进行初步的初始化。之后,采集各种数据并判断数据是否正常,如果正常,则显示数据并等待中断,根据中断转向相应的中断服务子程序。如果数据不正常,则通过报警来提示用户检查数据,直到数据正常才执行其他程序。如果一切正常,且没有刹车和启动等控制,则可以与其他设备进行通信等操作。具体的流程见图6所示。 系统的抗干扰设计 要达到良好的系统控制效果需要在系统设计中非常注意它的抗干扰性和可靠性。本系统由于采用高速ARM作为核心处理器,它的高频信号不仅容易受到干扰,而且也会成为系统的干扰源,因此有必要对整个系统,特别是ARM部分的抗干扰及保护做更多的处理。 硬件部分,控制系统的电源及功率驱动部分抗干扰措施主要就是从防和抗两方面入手。其总原则是:抑制或消除干扰源;切断干扰对系统的耦合通道;降低系统对干扰信号的敏感性。抗干扰设计的具体措施包括:隔离、接地、屏蔽、滤波等常用方法。 软件部分,本系统的软件主要采用了以下几种软件抗干扰设计: 软件陷阱法 测试系统在遇到外界干扰时,往往会导致运行程序进入程序存储器的空白区(即无指令区),这种现象叫做程序“跑飞”。于是在各子程序之间、各功能模块之间和所有空白处,都写上连续3个空操作指令(nop),后接一无条件转移指令,一旦程序跑飞到这些区域,就会自动返回执行正常程序。 程序的冗余设计 在程序存储器的空白区域,写入一些重要的数据表和程序作为备份,以便系统程序被破坏时仍有备份参数和程序维持系统正常工作。由于 TMS320LF2407A的数据存储以数据页为基准,如果对不同数据页的数据进行操作而不指定相应的数据页,会导致程序跑飞。因此需要对程序未使用满的数据页进行填充,防止数据页混乱导致的系统误操作。

    时间:2021-03-21 关键词: 嵌入式 汽车节能控制系统 ARM

  • 基于ARM的海底大地电磁信号采集系统改进

    基于ARM的海底大地电磁信号采集系统改进

    1海底大地电磁仪的分析 海底大地电磁数据采集器是对海底大地电磁场和海底环境信息进行自动采集的智能化仪器,旨在建立具有我国特色的海底大地电磁探测技术,并使之实用化,为我国海域区域地质调查提供新的技术支撑,为发展我国海洋电磁探测奠定基础。仪器于2000年研制成功后,在我国东海大陆架进行了成功试验。 整个数据采集器由电道前放板、磁道前放板、主放板、辅助通道板、时钟板、数字板、标定信号板和主控单元构成层叠式电路结构。整个电路板的整体何种为90×96×170mm3,重量约1kg。采集器使用+5V和±12V三路电源,工作状态下整机功耗为7W,正常工作的环境温度为-50℃~+70℃。目前一期完成的海底大地电磁仪最长记录时间为7天,频率范围为0.0001Hz~100Hz。数据采集器配置容量为144MB的固态电子盘。从数据处理的逻辑次序看,整个系统分为八部分,包括前置放大、数字和模拟滤波、低通滤波、高通滤波、主放大器、数据转换、缓冲存储和数据存储。 一期建设中,海底大地电磁仪器整体效果还是令人满意的。但也存在一些不足,主要体现在以下几个方面: (1)系统功耗 目前系统正常工作下,功耗约为7W。其中主要包括磁场传感器功耗290mW、倾斜传感器功耗45mW、振动传感器功耗0.5W、主控电路功耗2W等。在电池电能一定的情况下,整个采集可以持续7天左右,采集时间长度不够。 (2)主控单元 目前采用286系列主控单元,在嵌入式系统发展到很高水平的今天,已不适应高效率、高集成度的技术需要。 (3)采集稳定性 海底大地电磁采集要求各采集点精确同步,所以系统对稳定性的要求十分高。而目前系统采用单道大循环程序实现各项系统任务。这样不利于提高数据采集的稳定性。 2改进方案的设计思路 海底电磁数据采集需要的海上作业,采集成本大。为了达到效率最大化,就必须明显降低原有系统的功耗,并提高数据采集的稳定性。鉴于此,改进方案如下: (1)用ARM芯片取代286系列主控单元 ARM具有集成度高、能耗低等特点,通过使用ARM芯片取代目前的286系列主控单元将极大地降低系统的功耗,同时也可以缩减电路,进而降低电路的复杂度,减小系统的体积。 (2)用μC/OS-II取代目前的单道程序 μC/OS-II取得了美国联邦航空管理局(FAA)对于商用飞机的、符合RTCADO-178B标准的认证,表明μC/OS-II具有足够的安全性和稳定性。使用操作系统管理多任务,实现多任务的并发和同步。通过这种方式取代目前的单道大循环程序,可以提高系统的稳定性。 3改进主控单元的硬件组成 ARM架构在推出后获得了成功,各种ARM核心版本以及不同系统方案种类繁多。使用ARM本身已经比原有主控电路功耗降低,在满足实际需要的情况下,还可以在ARM各架构中选择功耗较低的。最终选择了ARM7TDMI结构,部分架构功耗比较见表1。由于原有数据采集系统前台采集部分和后台主控部分使用ISA总线标准进行连接,在ARM7TDMI架构的ARM芯片中,选择了ATMEL公司支持ISA总线扩展的AT91M40800。为完成系统所需任务,根据ATMEL公司发布的EB40开发板电路设计主控单元。片内SRAM8KB,外部Flash2MB,另有外部器件如串行接口和网络接口等。AT91m40800共有37个寄存器,其中包括31个32位通用寄存器(含程序计数器PC在内)、6个32位状态寄存器(但目前只使用其中的12位)。运行时的任意时刻,可见寄存器包括15个通用寄存器(R0~R14),一个或两个状态寄存器及程序计数器PC,其他寄存器多用于备份。经测试证明:所购芯片功耗测量均值小于0.25mW,较之原有主控单元2W的功耗,显著降低。 表1部分ARM架构功耗比较表 CPUDescriptionArea(mm2)Power(mW)Clock(MHz)Mips(MHz) ARM7TDMICore0.53<0.2560~1100.9 ARM9TDMICore1.10.3167~2200.9 ARM9E-SSynthesizableCore-1133~2001.1 ARM1020EMacrocell32+32KBcache100.85200~4001.24 4嵌入式实时操作系统μC/OS-II的移植 尽管μC/OS-II是用标准C语言写的,但当应用到某个具体的CPU上时,还需要用C和汇编语言写一些与处理器相关的代码。改写过程主要结合改进系统所采用的新主CPUAT91m40800的一些具体参数,完成整个操作系统的移植。 μC/OS-II可以大致分为内核、任务处理、时间处理、任务同步与通信、与CPU的接口等五部分。内核(OSCore.c)是操作系统的处理核心,包括操作系统初始化、系统运行、中断处理、时钟节拍、任务调度和事件处理等多任务。任务处理部分(OSTask.c)是与任务操作密切相关的,包括任务的建立、删除、挂起、恢复等。时钟部分(OSTime.c)定义μC/OS-II的最小时钟单位是Timetick(时钟节拍)。任务同步和通信部分包括信号邮箱、邮箱队列和时间标志等部分,主要用于任务间的互相联系和对临界资源的访问。与CPU接口部分是指μC/OS-II针对所使用的CPU的移植部分,主要包括中断级任务切换的底层实现、任务级任务切换的底层实现、时钟节拍的产生和处理、中断和相关处理部分等内容。 μC/OS-II除了良好的稳定性和安全性以外,很重要的特点就是对多任务管理的优异表现。μC/OS-II可以管理多达64个任务。除了8个μC/OS-II自用的任务以外,用户的应用程序最多可有56个任务。用户可以通过系统提供的任务结构来自行创立任务。改进方案中需要管理的任务包括GPS校时、读采集数据、数字滤波和存数据,执行框架如图1。 在初始化时,进行GPS校时。读优先级最高,采集器不停地读数据。当数据在缓冲区中还没填满时,进行滤波和写存储器的任务,一旦缓冲已满就要继续执行读操作。这里所说的读操作实际上是系统从缓冲中读的操作,并不是实际的采集器读地磁信号操作。写任务其次,必须连贯地完成一次写任务,中途不能被打断。所以只有在不进行读操作时,才可以进行写操作。滤波任务在读任务完成后执行,但是如果前一个写任还没有完成,就不能滤波,以防止新数据无法写入。所以只有当新的读任务结束,且旧的写任务完成后方可执行新读数据的滤波任务。通过μC/OS-II提供的信号量机制,可很好地实现任务进程的互斥与并发。 5ARM对外围设备的扩展 主控单元与前台数据采集模块间仍保留原有ISA总线接口标准,只是自行设计ARM主控单元的接口电路如图2所示。符合原有协议标准后,改进电路成功替代了原来的主控。 虽然串行接口速度较慢,但完全可以满足与上位机之间的通信。改进方案首先实现了ARM对于串口的扩展,作为通信手段之一。使用ARM公司自行开发的的ARM调试专用环境ADS1.2测试串行接口的效果:扩展程序所设计的输出结果为AT9140800USART_CUGB,连接采集仪和PC机,使用Windows自带的超级终端可以看到输出结果与设计一致,表明扩展是成功的。 各采集器间及采集器与上位机交互还可通过网络实现。改进方案基于μC/OS-II移植IP协议栈后,通过扩展网络接口卡,可实现网络功能。由于网络接口芯片本身也遵守ISA标准,所以扩展的网络接口还可以用来仿真测试ISA总线。检测总线时序情况就可测试主控模块的功能情况。抓取ISA设备时序,即得出系统接总线是否符号ISA协议标准。写一次后,逻辑分析仪截出几次时序,结果如图3所示。图3时序情况:/CS8019为网络接口芯片片选信号,/WE为写使能信号,/OE为输出使能信号,A1~A5为低5位地址,D0~D7为8位数据位。图3中显示写使能一次后,输出多次,对应地址循环(程序设定的输出效果),数据位则是输出8019的数据,具体内容没有意义。如图3虚线处,在C1时刻,开始进行写操作;C2时刻输出,低5位地址为00000;C3时刻第二次输出,地址为00001;C4时刻第三次输出,地址为00010。依次类推,表明主控单元改进满足了ISA总线的要求,网络接口扩展也正常。基于此,通过与前台数据采集模块直接连接,即可进行海底大地电磁数据的高效采集。 由于采用ARM芯片取代原有主控单元,仅此一项就降低功耗约25%,实现了功耗降低的要求。另外在采用了操作系统后,将使整个采集过程更稳定有序,提高了整个采集过程的准确性和安全性。

    时间:2021-03-21 关键词: 采集系统 大地电磁信号 ARM

  • ARM+PLC的裁床数据处理系统研究

    ARM+PLC的裁床数据处理系统研究

    引言 随着经济发展和人民生活水平的提高,消费者对产品的需求和品质的要求不断提高[1]。这就需要产品的加工精度越来越高,并且加工周期越来越短。本设计中的裁床主要是针对服装等相关行业的软性材料裁剪,国内在该方面自动化程度不高,生产效率低,在劳动力成本不断提高的情况下,急切需要提高自动化程度。目前先进的CAD/CAM系统基本被国外的公司占据,较著名的公司有美国的Gerber公司和法国的力克公司,进口设备昂贵,维护维修成本高,中国的服装企业急需性价比高的裁床。 1 数据处理系统功能分析 数据处理系统主要包括PLT文件数据处理模块和通信模块。为了保证系统有较好的数据处理能力,系统以ARM CortexA8处理器为核心,嵌入式操作系统使用微软公司的Windows CE6.0。系统需要从移动存储设备获取PLT文件,目前主流的移动存储设备都是USB接口,因此需要系统具备USB通信功能。数据处理系统需要跟执行机构控制器PLC进行通信,由于数据量较大,采用TCP/IP通信比较合理,其功能框图如图1所示。 2 PLT文件解析及优化设计 PLT文件包含图形向量信息,原本是用于用户喷图打印的[2]。在本系统中,PLT文件被用来存放裁床裁片轮廓边界点的坐标信息和刀笔的操作信息。从存储设备中读取的文件数据量较大,包含很多命令。如果将这些数据直接传送到PLC,无疑会增加数据传输量,并且需要PLC增加数据处理和计算的过程,影响系统的实时性。因此,在数据处理系统中将PLT文件数据先进行处理,并且进行适当的优化,从而减少数据量,提高PLC处理的实时性。 2.1 PLT文件解析 数据处理系统读入的文件是PLT文件,PLT文件源自于HP公司,最初主要用于打印机指令文件。其命令用来描述2D图形信息,采用ASCII码来表示,其内容只包含图形的线条信息。而裁床在裁割过程中裁刀行走的路径也是由许多线段组成的,因此用PLT文件来描述和存储裁床裁片形状的信息是非常合适的。 PLT文件中的一条 PLT指令由命令加参数的方式组成,分号表示该条指令结束。一条指令可以有多个参数,参数之间以逗号分开。其常用指令如表1所列。 下面以裁割长方形裁片为例,说明裁床PLT文件的格式。设定裁床的左下角为坐标原点,长方形裁片位于原点的右上角,其坐标点如图2所示,则该图形在PLT文件中的数据应该为“IN; SP1; PU600, 600; PD600, 1 200; PD1 800, 1 200; PD1 800, 600; PD600, 600; PU; PG;”。PLT文件中的长度与实际的长度单位换算关系:40个PLT文件中的单位=1 mm。 由于执行机构控制器PLC的存储空间有限,数据处理系统应尽可能地减少数据总量。在实际的加工过程中,PLC需要的是加工过程中的坐标点值,只要上下位机之间制定合理的协议,就可以将PLT文件中的命令去除,直接将坐标点发送到PLC。这样既有利于节约下位机的存储空间,而且也能减少下位机的运算过程。上下位机约定每一个坐标值的x和y数值的长度都为16位二进制数。那么裁床最大的有效裁割长度和宽度为65 536/40=1 638.4 mm,足够普通的裁床使用。 2.2 PLT文件优化处理 裁床裁片的PLT文件主要有两种来源:一是通过工业相机采集服装样片的图像,经过图像处理提取样片轮廓的数字信息,并通过二次曲线拟合原始的边界点序列产生轮廓的矢量图,再将拟合曲线离散化并产生PLT文件[3];二是通过CAD软件产生。第一种来源的数据目的性强,因此会考虑到实际应用场合,尽可能地将数据精简;而由CAD软件产生的PLT文件并不一定会考虑文件的具体应用对精度的不同要求,产生的PLT文件一般是固定的。服装行业对精度的要求一般来说没有机械零件对精度的要求高。在裁床设备中,这些PLT文件中可能会存在大量的冗余数据,增加了数据总量。另外这些数据肯定相近的是坐标点,这会造成裁床在实际裁割过程中需要不断频繁地加减速,对设备刚度会提出较高的要求,对电机的性能也是不小的考验。 PLT文件的优化思路:通过三次B样条拟合由CAD产生的PLT文件中的坐标点,获得裁床裁片的轮廓曲线,并采用直线逼近法用微小线段拟合曲线,从而重新优化刀具加工点,减少数据量。 在实际编程实现B样条曲线时,多使用deBoor定义。将参数t固定在区间[tj,tj+1],则deBoor算法推导如下: 式(3)表示一条曲线P (t)从K 阶B样条表示到K-1阶B样条表示的递推公式。在程序中不断地调用该公式,可以得到拟合的曲线。 裁床的刀头在伺服电机的带动下容易实现直线段组成的路径,而不容易直接走曲线。因此将PLT文件中的数据通过上述算法重新拟合之后,还需要通过直线拟合的方式重新获取路径坐标点,在加工误差允许范围内,尽可能地减少数据量。直线拟合的思路如下:在曲线上有N个坐标点,用Kij(1 ① 求出第1点和第2点之间的斜率K12。 ② 求出第1点和第j(j>2)点的斜率K1j,每求出一个K1j就跟K12进行比较。如果差值小于设定的误差值,则返回第二步继续求下一个K1j,否则进入第3步。 ③ 回溯到j-1点的坐标值,此时用直线连接第1点和第j-1点形成的线段可满足精度要求。 ④ 如果j-1 拟合完成后,将形成优化后的PLT文件。此文件中的数据将作为发送到PLC和在人机界面上显示加工轨迹的数据。 2.3 裁片加工轨迹的显示 裁床控制系统的上位机人机界面中,一般都有显示裁片形状(加工轨迹)的功能。该功能的主要作用有两个:让操作者能方便快速地知道加载的PLT文件是否为当前需要加工的数据文件,避免由于选择错误的加工数据而造成材料浪费;裁片的排料对服装企业的材料利用率影响较大,通过裁片加工轨迹的显示,使用者能直观地知道此数据文件中的数据在排料方面是否合理。 数据处理系统采用的是WinCE 6.0嵌入式操作系统,在此系统中开发应用软件可以采用微软公司提供的Visual Studio 2005集成开发环境。在程序中将PLT文件的坐标值按比例转换后,通过MFC中的画直线函数,把各坐标点按照既定的规则用直线段连接,从而在人机界面中显示裁片加工轨迹。为了方便用户直观地了解裁片大致尺寸,在显示页面中加入了坐标尺。裁片显示界面及其测试效果如图3所示。 3 通信功能的实现 数据处理系统与外部的通信有两部分:一是从移动存储设备中获取包含裁片加工信息的USB通信;二是与下位机PLC之间的TCP/IP通信。 USB设备分为SLAVE(从设备)和HOST(主设备),只有当一台HOST与一台SLAVE连接时才能实现数据的传输[4]。简单地说,如果一个设备支持USB HOST,它就可以从另外一个USB设备中取得数据。裁床数据处理系统需要从外部移动存储设备中读取数据,因此必须具备HOST功能。 数据处理系统与下位机之间采用TCP/IP通信,根据实际数据收发的需要,程序中创建了两个端口号。端口号6000用于收发裁片信息数据,端口号6001用于收发设置的参数以及相关监控信息等。上位机软件作为客户端,要根据PLC的通信端口配置设置IP和端口号。PLC作为服务器端,打开端口并等待上位机连接,连接成功后等待接收数据。如果收到的是裁片信息数据,则保存数据;如果接收到的是设置参数的数据,则根据约定的通信协议来作相应的转换和处理。具体通信协议如下: ① 工作参数设置头标志:“PR”,设定的参数数据长度不定,以分号来判断参数的长度。格式如下: ② 系统工作参数设置头标志:“SPR”,设定的参数数据长度不定,以分号来判断参数的长度。格式如下: ③ 警报消息接收头标志:“WN”,每个警报用1位表示,0表示正常,1表示警报。格式如下: ④ 开机时向PLC询问上次保存的参数:发送“ASK”。软件“开始”控制:发送“STR”。 结语 采用嵌入式系统来实现裁床的数据处理功能,预期效果良好。相对传统的控制系统来说,此方案移动性强、性价比高。将排料软件与数据处理软件分开,有利于缩短开发周期,降低软件维护和升级的成本。

    时间:2021-03-21 关键词: PLC 裁床数据处理系统 ARM

  • 一种短波动态频谱接入系统的设计

    一种短波动态频谱接入系统的设计

    1 短波动态频谱接入系统硬件设计 短波动态频谱接入系统的硬件组成部分主要包括:TMS320VC5502 数字信号处理器、音频信号处理模块以及外部存储器等部分。 TMS320VC5502 是信号处理部分的核心,主要负责对音频信号处理模块送来的数据进行频谱分析;TLV320AIC10 音频处理模块主要完成对输入模拟信号的滤波和A/ D 转换工作; SST39LF800A 作为程序存储器,存放DSP 的引导程序; SDRAM 作为外部存储空间的扩展,存放处理的数据; DSP 与各外设的联络由XC2C128VQ100 来完成; 2410 开发板承载整个应用程序,同时通过RS 232 串口实现对短波电台的自动化操作和控制,并通过反馈信息获取电台的工作状态,图1 为系统的硬件框图。 系统工作过程如下: 系统加电TMS320VC5502复位后,由其内部固化的引导程序( BOOT) 将存于FLASH 的程序和数据搬移至内部RAM。由电台音频口送来的音频信号经TLV320AIC10 采样后,送到高速处理器TMS320VC5502 进行基带信号的FFT 运算。DSP 每运行一次算法,将结果送至RAM,在信道扫描一周后,RAM 将结果送到DSP,将各个信道的噪声功率值排序,并将结果通过RS232 口送给SBC 2410 开发板,SBC 2410 开发板收到后,根据预先设置好的噪声门限为每个信道划分等级,并将其存储在数据库中。 2 短波动态频谱接入系统软件设计 2. 1 探测信号发送主程序设计 探测信号发送主程序流程如图2 所示。 有效载荷经过卷积编码、交织和正交符号映射后,形成长度为13 1*= 832 的3 bit 数据符号序列,然后与保护序列、探测报头和数据符号序列组成信道符号序列,以2 400 符号/ s 的速率对1 800 Hz的载波进行8PSK 调制,产生发送波形。 2. 2 接收信号恢复主程序设计 在没有通信任务的状态下,系统持续地监测信道上有没有高过门限的有效信号序列。如果发现信号,系统开始对信号进行捕获。当第1 次出现峰值大于门限时,记录此时的频差估计值,然后作3 次确认。若3 次确认中的峰值大于门限的少于2 次,或者频差估计值之间的差值超出允许的范围,则认为捕获无效,系统重新开始搜索; 若确认过程中大于门限的峰值次数和频差估计值之间的差值在允许范围内,则进行位同步和信道估计。在位同步过程中,通过与本地序列的滑动相关来实现位同步和信道估计,并对多次估计值的结果进行适当处理,获得最终的位同步和信道参数估值结果。根据位同步结果,通过采用分集接收、相关解扩、解交织和解码获得原始信息,完成一次接收。根据前导序列的对比可获得信道误码率,其软件设计流程如图3 所示。 3 短波动态频谱接入系统性能测试 为了对所设计系统的整体性能进行*估,先后在重庆? 遵义、重庆? 常州、重庆? 广州、北京? 常州等不同距离的通信线路上进行了3 个多月、共约1 200 余次的通信实验。 实验中主要对设计系统的链路建立和基本数传性能进行了测试和*估。以链路建立和数据报文通信为主,每份报文以200 组为标准,每4 个字符为一组,共800 个字符进行实验。每隔30 min 发起一次呼叫,发起呼叫时的起始状态为同步扫描状态,待链路建立后并分别以600 baud 和1 200 baud 的数据传输速率发送报文。通过记录链路建立情况、呼损率和数据报文的接收情况来测试系统的基本性能。通过对实验数据的比较分析表明,系统由于采用了短波频谱感知技术、动态频率优选等技术,建链概率和建链时间分别比二代短波电台提高了约26% 和31% 。 在数据报文的通信过程中,由于系统采用了短波频谱感知技术,通信前,系统根据频谱感知结果优选出了可靠空闲频谱,保证了系统始终建链在可靠信道上。在数据传输速率为600 baud 和1 200 baud的前提条件下,报文的正确接收概率比普通的短波电台提高了10%~ 12%,而且平均错误字符的概率也比普通电台降低了一个数量级,达到了10- 4,能够充分满足短波普通通信业务的需求。 4 结束语 综上所述,基于短波动态频谱接入的频谱感知技术改善了现有的二代短波通信系统的链路建立及业务传输性能,提高了短波数据通信的可靠性和有效性,对于提升通信装备的战术技术性能具有十分重要的意义。

    时间:2021-03-21 关键词: 接入系统 短波动态频谱 ARM

首页  上一页  1 2 3 4 5 6 7 8 9 10 下一页 尾页
发布文章

技术子站

更多

项目外包