定点DSP小数乘加实战


欢迎加入技术交流QQ群(2000人):电力电子技术与新能源 920776074


高可靠新能源行业顶尖自媒体


在这里有电力电子、新能源干货、行业发展趋势分析、最新产品介绍、众多技术达人与您分享经验,欢迎关注微信公众号:电力电子技术与新能源(Micro_Grid),论坛:www.21micro-grid.com,建立的初衷就是为了技术交流,作为一个与产品打交道的技术人员,市场产品信息和行业技术动态也是必不可少的,希望大家不忘初心,怀有一颗敬畏之心,做出更好的产品!

电力电子技术与新能源论坛

www.21micro-grid.com


小编推荐值得一看的书单电力电子技术与新能源小店


由于我装的版本是CCS5.5,此版本只支持C55系列的软件仿真而不支持C54系列的软件仿真,所以本次试验我采用TMS320C5510芯片进行,新建工程的过程这里不再赘述。

       以下分别采用汇编语言和C语言编写一个最简单的定点DSP程序 ,计算式子:y=0.1*1.2+35*20+15*1.6结果的值。

1、操作数表示

        在定点DSP芯片中,采用定点进行数值计算,其操作数一般采用整数来表示。一个整数型的最大表示范围取决于DSP芯片所能给的字长,一般为16位或者24位。字长越长,所能表示的范围越大,精度也越高。

        数学运算中的数字不一定是整数。定点DSP无法直接处理小数,需要人为将小数转化为整数进行运算。

2、定标

        通过设定小数点在一个字中的不同位置,可以表示不同大小不同精度的小数。

3、Q格式运算

•       定点加减法:须转换成相同的Q格式才能加减;

•       定点乘法:不同Q格式的数据相乘,相当于Q值相加;

•       定点除法:不同Q格式的数据相除,相当于Q值相减;

•       定点左移:左移相当于  Q值增加;

•       定点右移:右移相当于  Q值减少;

        不同的Q值所表示的数的范围不同,精度也不同。Q值越大,数值范围越小,但精度越高;相反,Q值越小,数值的范围越大,精度越低。例如:对于16位字长来说,Q0的数值范围是-32768到+32767,其精度为1,而Q15的数值范围为-1到0.9999695,精度为1/32768=0.00003051。对于定点数来说,数值范围与精度是一对矛盾。

4、浮点数与定点数的转换关系

        浮点数(x)转换为定点数(Xq):

       定点数(Xq)转换为浮点数(x):

例如,浮点数x=0.25,定标Q=15,则定点数,反之,一个用Q=15表示的定点数为8192,则其浮点数为

5、加法计算

    设x的Q值为Qx,y的值为Qy,且Qx>Qy,加法结果的定标值为Qz,则对于有:

                        


6、乘法运算

    设x的Q值为Qx,y的值为Qy,且Qx>Qy,加法结果的定标值为Qz,则对于z=xy,可得到:

                        

                        

7、汇编程序设计如下(注意以下程序均是基于TMS320C5510芯片编写)

       .text

       .bss x,4

       .globalstart

start:

      MOV #0066h,AC0H ;设置Q=10     ;x1=0.1 Q=10 =>0.1*2^10=102 =>66H ,放到累加器高16位(31~16),最高的8位为保护位

      MOV #04CDh,AC1H ;设置Q=10     ;x2=1.2 Q=10 =>1.2*2^10 =>04CDH

      MPY AC1,AC0             ;C55x系列指令 :AC0=AC0(31~16)*AC1(32~16)

      MOV #0460h,AC1H ;设置Q=5

      MOV #0280h,AC2H ;设置Q=5

      MPY AC2,AC1

      MOV #3C00h,AC2H ;Q=10

      MOV #0666h,AC3H ;Q=10

      MPY AC3,AC2

      SFTSC AC0,#-10,AC0  ;C55x累加器移位指令。这里设置结果Q=10,将AC0的内容左移10位,保证 结果Q=10

      SFTSC AC2,#-10,AC2   ;移位 AC2=AC2<<10

      ADD AC0,AC1                    ;求和

      ADD AC2,AC1                    ;求最终的结果

        说明:在此代码中,设置数据0.1和1.2的Q值为10,设置35和20的Q值为5,设置15和1.6的Q值为10。设置计算结果的Q值为10。

        提醒:DSP汇编语言需要注意格式问题,该顶格写的语句一定不能敲空格,比如以上程序的start语句。可以随便修改尝试。


8、汇编语言调试过程

        注意调试前需要先在需要查看的语句前设置断点。

        执行第一个MPY语句后各个累加器的值:

        执行第二个MPY指令后各个累加器的值:

        执行第三个MPY指令后各个累加器的值 :

   

        最终结果如下:

        

计算结果放在累加器AC1中,此处的值为0B5074h,结果设置的Q值为10,则对应的十进制为AC1=0B5074H=741492D,实际的数据结果为 ,和实际724.12结果接近。

9、为比较结果,采用C语言编写

源代码如下:

/*

 * main.c

 */

int main(void) {

       long x1=102;     //x1=0.1Q=10 =>0.1*2^10=102 =>66H

       long x2=1229;    //x2=1.2 Q=10 =>1.2*2^10

       long x3=1120;    //x3=35  Q=5  =>35*2^5     ;整数的Q值的设置只需要保证计算结果不超出数据范围即可

       long x4=640;     //x4=20Q=5  =>20*2^5 ;整数的Q值的设置只需要保证计算结果不超出数据范围即可

       long x5=15360;  //x5=15 Q=10 =>15*2^10 ;整数的Q值的设置只需要保证计算结果不超出数据范围即可

       long x6=1638;    //x6=1.6 Q=10 =>1.6*2^10

       long y1,y2,y3;     //存储各部分值,在这里设置结果的Q值为10

       long result;   //存储求和结果,在这里设置结果的Q值为10

       y1=(x1*x2)>>(10+10-10);  //y1计算结果Q=10,移位操作是为了保证Q值为10,方便求result

       y2=(x3*x4)>>(5+5-10);      //y2计算结果Q=10

       y3=(x5*x6)>>(10+10-10);  // y3计算结果Q=100

       result=y1+y2+y3;        //result计算结果Q=10

       return 0;

        为了和汇编程序运行结果比较,所以我再次在这里设置设置数据0.1和1.2的Q值为10,设置35和20的Q值为5,设置15和1.6的Q值为10。设置计算结果的Q值为10。

10、C语言调试过程

        Y1移位前累加器结果:

        Y2移位后累加器结果:

        Y2最终结果放在累加器AC0:

        Y3最终结果放在AC0中如下图:

        求得最终结果如下图:

        最终结果放在AC0中,可以发现最终结果和用汇编语言测试结果完全相同,都为0B5074h,因为Q=10,则对应的值为724.113。测试结果正确。

        学习DSP愉快!

文章首尾冠名广告正式招商,功率器件:IGBT,MOS,SiC,GaN,磁性器件,电源芯片,DSP,MCU,新能源厂家都可合作,有意者加微信号1768359031详谈。

说明:本文来源网络;文中观点仅供分享交流,不代表本公众号立场,转载请注明出处,如涉及版权等问题,请您告知,我们将及时处理。

电力电子技术与新能源通讯录:

Please clik the advertisement and exit

重点

如何下载《电力电子技术与新能源板块内高清PDF电子书


点击文章底部阅读原文,访问电力电子技术与新能源论坛(www.21micro-grid.com)下载!


或者转发所要文章到朋友圈不分组不屏蔽,然后截图发给小编(微信1413043922),小编审核后将文章发你!


推荐阅读:点击标题阅读

LLC_Calculator__Vector_Method_as_an_Application_of_the_Design

自己总结的电源板Layout的一些注意点

华为电磁兼容性结构设计规范V2.0

Communication-less Coordinative Control of Paralleled Inverters

Soft Switching for SiC MOSFET Three-phase Power Conversion


看完有收获?请分享给更多人


公告:

电力电子技术与新能源微信群,欢迎加小编微信号:(QQ号)1413043922,请注明研究方向或从事行业(比如光伏逆变器硬件),小编对电力电子技术与新能源及微电网的市场发展很看好,对其关键技术很感兴趣,如有技术问题,欢迎加小编微信,共同讨论。

在这里有电力电子技术:光伏并网逆变器(PV建模,MPPT,并网控制,LCL滤波,孤岛效应),光伏离网,光伏储能,风电变流器(双馈、直驱),双向变流器PCS,新能源汽车,充电桩,车载电源,数字电源,双向DCDC(LLC,移相全桥,DAB),储能(锂电池、超级电容),低电压穿越(LVRT),高电压穿越,虚拟同步发电机,多智能体,电解水,燃料电池,能量管理系统(直流微网、交流微网)以及APF,SVG ,DVR,UPQC等谐波治理和无功补偿装置等。
PSCAD/MATLABsimulink/Saber/PSPICE/PSIM——软件仿真+DSP+(TI)TMS320F2812,F28335,F28377,(Microchip)dsPIC30F3011,FPGA,ARM,STM32F334——硬件实物。
欢迎技术人员加入,多多交流,共同进步!


更多精彩点下方阅读原文

      点亮在看,小编工资涨1毛!

电力电子技术与新能源 电力电子技术,交直流微电网,光伏并网逆变器,储能逆变器,风电变流器(双馈,直驱),双向变流器PCS,新能源汽车,充电桩,车载电源,数字电源,双向DCDC,锂电池,超级电容,燃料电池,能量管理系统以及APF,SVG ,UPQC等
评论
  • 光耦合器,也称为光隔离器,是一种利用光在两个隔离电路之间传输电信号的组件。在医疗领域,确保患者安全和设备可靠性至关重要。在众多有助于医疗设备安全性和效率的组件中,光耦合器起着至关重要的作用。这些紧凑型设备经常被忽视,但对于隔离高压和防止敏感医疗设备中的电气危害却是必不可少的。本文深入探讨了光耦合器的功能、其在医疗应用中的重要性以及其实际使用示例。什么是光耦合器?它通常由以下部分组成:LED(发光二极管):将电信号转换为光。光电探测器(例如光电晶体管):检测光并将其转换回电信号。这种布置确保输入和
    腾恩科技-彭工 2025-01-03 16:27 180浏览
  • 根据环洋市场咨询(Global Info Research)项目团队最新调研,预计2030年全球无人机锂电池产值达到2457百万美元,2024-2030年期间年复合增长率CAGR为9.6%。 无人机锂电池是无人机动力系统中存储并释放能量的部分。无人机使用的动力电池,大多数是锂聚合物电池,相较其他电池,锂聚合物电池具有较高的能量密度,较长寿命,同时也具有良好的放电特性和安全性。 全球无人机锂电池核心厂商有宁德新能源科技、欣旺达、鹏辉能源、深圳格瑞普和EaglePicher等,前五大厂商占有全球
    GIRtina 2025-01-07 11:02 71浏览
  • By Toradex 秦海1). 简介嵌入式平台设备基于Yocto Linux 在开发后期量产前期,为了安全以及提高启动速度等考虑,希望将 ARM 处理器平台的 Debug Console 输出关闭,本文就基于 NXP i.MX8MP ARM 处理器平台来演示相关流程。 本文所示例的平台来自于 Toradex Verdin i.MX8MP 嵌入式平台。  2. 准备a). Verdin i.MX8MP ARM核心版配合Dahlia载板并
    hai.qin_651820742 2025-01-07 14:52 45浏览
  • 彼得·德鲁克被誉为“现代管理学之父”,他的管理思想影响了无数企业和管理者。然而,关于他的书籍分类,一种流行的说法令人感到困惑:德鲁克一生写了39本书,其中15本是关于管理的,而其中“专门写工商企业或为企业管理者写的”只有两本——《为成果而管理》和《创新与企业家精神》。这样的表述广为流传,但深入探讨后却发现并不完全准确。让我们一起重新审视这一说法,解析其中的矛盾与根源,进而重新认识德鲁克的管理思想及其著作的真正价值。从《创新与企业家精神》看德鲁克的视角《创新与企业家精神》通常被认为是一本专为企业管
    优思学院 2025-01-06 12:03 119浏览
  • 村田是目前全球量产硅电容的领先企业,其在2016年收购了法国IPDiA头部硅电容器公司,并于2023年6月宣布投资约100亿日元将硅电容产能提升两倍。以下内容主要来自村田官网信息整理,村田高密度硅电容器采用半导体MOS工艺开发,并使用3D结构来大幅增加电极表面,因此在给定的占位面积内增加了静电容量。村田的硅技术以嵌入非结晶基板的单片结构为基础(单层MIM和多层MIM—MIM是指金属 / 绝缘体/ 金属) 村田硅电容采用先进3D拓扑结构在100um内,使开发的有效静电容量面积相当于80个
    知白 2025-01-07 15:02 75浏览
  •     为控制片内设备并且查询其工作状态,MCU内部总是有一组特殊功能寄存器(SFR,Special Function Register)。    使用Eclipse环境调试MCU程序时,可以利用 Peripheral Registers Viewer来查看SFR。这个小工具是怎样知道某个型号的MCU有怎样的寄存器定义呢?它使用一种描述性的文本文件——SVD文件。这个文件存储在下面红色字体的路径下。    例:南京沁恒  &n
    电子知识打边炉 2025-01-04 20:04 100浏览
  • 自动化已成为现代制造业的基石,而驱动隔离器作为关键组件,在提升效率、精度和可靠性方面起到了不可或缺的作用。随着工业技术不断革新,驱动隔离器正助力自动化生产设备适应新兴趋势,并推动行业未来的发展。本文将探讨自动化的核心趋势及驱动隔离器在其中的重要角色。自动化领域的新兴趋势智能工厂的崛起智能工厂已成为自动化生产的新标杆。通过结合物联网(IoT)、人工智能(AI)和机器学习(ML),智能工厂实现了实时监控和动态决策。驱动隔离器在其中至关重要,它确保了传感器、执行器和控制单元之间的信号完整性,同时提供高
    腾恩科技-彭工 2025-01-03 16:28 170浏览
  • PLC组态方式主要有三种,每种都有其独特的特点和适用场景。下面来简单说说: 1. 硬件组态   定义:硬件组态指的是选择适合的PLC型号、I/O模块、通信模块等硬件组件,并按照实际需求进行连接和配置。    灵活性:这种方式允许用户根据项目需求自由搭配硬件组件,具有较高的灵活性。    成本:可能需要额外的硬件购买成本,适用于对系统性能和扩展性有较高要求的场合。 2. 软件组态   定义:软件组态主要是通过PLC
    丙丁先生 2025-01-06 09:23 85浏览
  • 随着市场需求不断的变化,各行各业对CPU的要求越来越高,特别是近几年流行的 AIOT,为了有更好的用户体验,CPU的算力就要求更高了。今天为大家推荐由米尔基于瑞芯微RK3576处理器推出的MYC-LR3576核心板及开发板。关于RK3576处理器国产CPU,是这些年的骄傲,华为手机全国产化,国人一片呼声,再也不用卡脖子了。RK3576处理器,就是一款由国产是厂商瑞芯微,今年第二季推出的全新通用型的高性能SOC芯片,这款CPU到底有多么的高性能,下面看看它的几个特性:8核心6 TOPS超强算力双千
    米尔电子嵌入式 2025-01-03 17:04 55浏览
  • 本文介绍Linux系统更换开机logo方法教程,通用RK3566、RK3568、RK3588、RK3576等开发板,触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。制作图片开机logo图片制作注意事项(1)图片必须为bmp格式;(2)图片大小不能大于4MB;(3)BMP位深最大是32,建议设置为8;(4)图片名称为logo.bmp和logo_kernel.bmp;开机
    Industio_触觉智能 2025-01-06 10:43 87浏览
  • 每日可见的315MHz和433MHz遥控模块,你能分清楚吗?众所周知,一套遥控设备主要由发射部分和接收部分组成,发射器可以将控制者的控制按键经过编码,调制到射频信号上面,然后经天线发射出无线信号。而接收器是将天线接收到的无线信号进行解码,从而得到与控制按键相对应的信号,然后再去控制相应的设备工作。当前,常见的遥控设备主要分为红外遥控与无线电遥控两大类,其主要区别为所采用的载波频率及其应用场景不一致。红外遥控设备所采用的射频信号频率一般为38kHz,通常应用在电视、投影仪等设备中;而无线电遥控设备
    华普微HOPERF 2025-01-06 15:29 127浏览
  • 这篇内容主要讨论三个基本问题,硅电容是什么,为什么要使用硅电容,如何正确使用硅电容?1.  硅电容是什么首先我们需要了解电容是什么?物理学上电容的概念指的是给定电位差下自由电荷的储藏量,记为C,单位是F,指的是容纳电荷的能力,C=εS/d=ε0εrS/4πkd(真空)=Q/U。百度百科上电容器的概念指的是两个相互靠近的导体,中间夹一层不导电的绝缘介质。通过观察电容本身的定义公式中可以看到,在各个变量中比较能够改变的就是εr,S和d,也就是介质的介电常数,金属板有效相对面积以及距离。当前
    知白 2025-01-06 12:04 173浏览
  • 在智能家居领域中,Wi-Fi、蓝牙、Zigbee、Thread与Z-Wave等无线通信协议是构建短距物联局域网的关键手段,它们常在实际应用中交叉运用,以满足智能家居生态系统多样化的功能需求。然而,这些协议之间并未遵循统一的互通标准,缺乏直接的互操作性,在进行组网时需要引入额外的网关作为“翻译桥梁”,极大地增加了系统的复杂性。 同时,Apple HomeKit、SamSung SmartThings、Amazon Alexa、Google Home等主流智能家居平台为了提升市占率与消费者
    华普微HOPERF 2025-01-06 17:23 145浏览
  • 大模型的赋能是指利用大型机器学习模型(如深度学习模型)来增强或改进各种应用和服务。这种技术在许多领域都显示出了巨大的潜力,包括但不限于以下几个方面: 1. 企业服务:大模型可以用于构建智能客服系统、知识库问答系统等,提升企业的服务质量和运营效率。 2. 教育服务:在教育领域,大模型被应用于个性化学习、智能辅导、作业批改等,帮助教师减轻工作负担,提高教学质量。 3. 工业智能化:大模型有助于解决工业领域的复杂性和不确定性问题,尽管在认知能力方面尚未完全具备专家级的复杂决策能力。 4. 消费
    丙丁先生 2025-01-07 09:25 80浏览
  • 根据Global Info Research项目团队最新调研,预计2030年全球封闭式电机产值达到1425百万美元,2024-2030年期间年复合增长率CAGR为3.4%。 封闭式电机是一种电动机,其外壳设计为密闭结构,通常用于要求较高的防护等级的应用场合。封闭式电机可以有效防止外部灰尘、水分和其他污染物进入内部,从而保护电机的内部组件,延长其使用寿命。 环洋市场咨询机构出版的调研分析报告【全球封闭式电机行业总体规模、主要厂商及IPO上市调研报告,2025-2031】研究全球封闭式电机总体规
    GIRtina 2025-01-06 11:10 104浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦