加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入

NXP雙核微控制器LPC55S69-PowerQuad在陀螺儀上的應(yīng)用

07/19 15:31
954
服務(wù)支持:
技術(shù)交流群

完成交易后在“購買成功”頁面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗、收獲成長和認(rèn)同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當(dāng)前內(nèi)容為數(shù)字版權(quán)作品,購買后不支持退換且無法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論
放大
實物圖
相關(guān)方案
  • 方案介紹
  • 相關(guān)文件
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

一、項目名稱

LPC55S69-PowerQuad 在陀螺儀上的應(yīng)用

二、項目概述

LPC55S69是集成了PowerQuad數(shù)學(xué)運算加速處理器的雙核ARM-M33處理器,本項目在LPC55S69驅(qū)動MPU6050陀螺儀的應(yīng)用中實現(xiàn)以下功能:

1、LPC55S69-Core0對MPU6050陀螺儀的驅(qū)動,

2、LPC55S69-Core0 -PowerQuad浮點小數(shù)的除法和開方運算;

3、LPC55S69-Core1對OLED的驅(qū)動,顯示陀螺儀輸出的數(shù)字信號量;

4、雙核數(shù)據(jù)共享管理機制,共享變量ACK作為握手信號對Core0和Core1進(jìn)行任務(wù)調(diào)度。

三、作品實物圖

圖1

四、雙核任務(wù)管理

圖2

五、項目的實施

1、硬件:

外部擴(kuò)展的硬件連接見圖3

圖3

2、軟件:

編譯環(huán)境:IAR8.32.1。

工程模塊直接利用雙核Hello_world演示例程

LPC55S69boardslpcxpresso55s69multicore_exampleshello_world 修改而成。

Core0模塊需要添加PowerQuad和MPU6050的驅(qū)動,

圖4

Core1需要添加OLED的驅(qū)動;

圖5

3、雙核調(diào)試:

1、在Core0中調(diào)試完成OLED驅(qū)動,并移植到Core1。然后從Core0調(diào)用Core1時OLED應(yīng)能正常顯示。

2、調(diào)試MPU6050驅(qū)動;

3、調(diào)試PowerQuad。

4、調(diào)試Core1顯示Core0傳送的坐標(biāo)數(shù)據(jù)。

Get_Angle()函數(shù)演示了PowerQuad浮點小數(shù)除法和開方的使用方法:

在使用PowerQuad前,要先對其初始化:

1.PQ_Init(DEMO_POWERQUAD);

復(fù)制代碼

1.void MPU6050_Get_Angle(MPU6050_Angle *data)
2.{??float temp=16384.0;
3.??float input;
4.??float result;
5.??input=MPU6050_Get_Data(ACCEL_XOUT_H) + X_ACCEL_OFFSET;
6.??PQ_DivF32(&input, &temp, &result);
7.??X=result;
8.??input=MPU6050_Get_Data(ACCEL_YOUT_H) + Y_ACCEL_OFFSET;
9.??PQ_DivF32(&input, &temp, &result);
10.??Y=result;
11.??input=MPU6050_Get_Data(ACCEL_ZOUT_H) + Z_ACCEL_OFFSET;
12.??PQ_DivF32(&input, &temp, &result);
13.??Z=result;
14.input =(Y*Y+Z*Z);
15.??PQ_SqrtF32(&input, &result);
16.??temp=X/result;
17.??data->X_Angle =atan(temp)* 57.29577;
18.input =(X*X+Z*Z);
19.??PQ_SqrtF32(&input, &result);
20.??temp=Y/result;
21.??data->Y_Angle =atan(temp)* 57.29577;
22.??input =(X*X+Y*Y);
23.??PQ_SqrtF32(&input, &result);
24.??temp=result/Z;
25.??data->Z_Angle =atan(temp)* 57.29577;
26.}
27.
28.

復(fù)制代碼

Core0的數(shù)據(jù)處理:

1.while (1)
2.? ? {
3.? ???do{;} while(Ack==0x01);
4.? ???MPU6050_Get_Angle(&data);
5.? ???fraction=modf(data.X_Angle,&integer)*100;
6.? ???Disp_buf[0][0]=(int32_t)integer;
7.? ???Disp_buf[0][1]=(uint8_t)fraction;
8.? ???fraction=modf(data.Y_Angle,&integer)*100;
9.? ???Disp_buf[1][0]=(int32_t)integer;
10.? ???Disp_buf[1][1]=(uint8_t)fraction;
11.? ???fraction=modf(data.Z_Angle,&integer)*100;
12.? ???Disp_buf[2][0]=(int32_t)integer;
13.? ???Disp_buf[2][1]=(uint8_t)fraction;
14.? ???Ack=0x01;
15.? ? }
16.
17.

復(fù)制代碼

Core1的數(shù)據(jù)處理:

1.while (1)
2.? ? {
3.? ?? ???do{;}while(Ack==0x00);
4.? ?? ???Ack=0x00;
5.? ?? ???DispAngle(48,8,(int32_t)Disp_buf[0][0],(uint8_t)Disp_buf[0][1]);
6.? ?? ???DispAngle(48,24,(int32_t)Disp_buf[1][0],(uint8_t)Disp_buf[1][1]);
7.? ?? ???DispAngle(48,40,(int32_t)Disp_buf[2][0],(uint8_t)Disp_buf[2][1]);
8.? ?? ???j++;
9.? ?? ???if(j==500)
10.? ?? ???{
11.? ?? ?? ? LED_TOGGLE();
12.? ?? ?? ? j=0;
13.? ?? ???}
14.? ? }
15.
16.

復(fù)制代碼

六、代碼文件

hello_world.rar

七、視頻

八、運行結(jié)果

在Core1中預(yù)先設(shè)定藍(lán)色LED翻轉(zhuǎn)來監(jiān)視運行過程,LED大約每秒翻轉(zhuǎn)一次,運行結(jié)果可知在LED翻轉(zhuǎn)期間,Core0和Core1居然運行了500次數(shù)據(jù)采集、運算和顯示。本項目非常直觀的體現(xiàn)了LPC55S69雙核M33的優(yōu)異性能。

  • 基于LPC55S69-PowerQuad在陀螺儀上的應(yīng)用.docx

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風(fēng)險等級 參考價格 更多信息
ATSAMD20J18A-AUT 1 Microchip Technology Inc IC MCU 32BIT 256KB FLASH 64LQFP

ECAD模型

下載ECAD模型
$4.06 查看
ATSAM4S16BA-AU 1 Atmel Corporation RISC Microcontroller, 32-Bit, FLASH, CORTEX-M4 CPU, 120MHz, CMOS, PQFP64, LQFP-64

ECAD模型

下載ECAD模型
$7.22 查看
PIC32MX795F512L-80I/BG 1 Microchip Technology Inc 32-BIT, FLASH, 80 MHz, RISC MICROCONTROLLER, PBGA121, 10 X 10 MM, 1.10 MM HEIGHT, LEAD FREE, PLASTIC, XBGA-121

ECAD模型

下載ECAD模型
$23.36 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜