|
之前在做類似項目時做的參考文件,內(nèi)容看圖片,很齊全的了
Intel提供了一系列第6代Intel® Core™處理器和Intel® Xeon®處理器,包括最近發(fā)布的分別搭載Intel®Iris™ Pro Graphics P580和P55的Intel® Xeon® E3-1578L v5和E3-1558L v5處理器。這些處理器能夠實時處理多達2個4k HEVC輸出流或多達15個全高清-HEVC流。 對于使用視頻分析并需要迅速將片段傳輸給相關人員以提醒潛在事故的監(jiān)控系統(tǒng),這樣的性能至關重要。 這些事故可以是有人在停車場閑逛、將商品裝進錢包或提包、將背包丟棄在機場或其他運輸站場。
高速球型攝像機介紹:
高速球型攝像機是一種智能化攝像機前端,全名叫高速智能化球型攝像機,或者一體化高速球智能球,或者簡稱快球,簡稱高速球。高速球集成了云臺系統(tǒng)、攝像頭系統(tǒng)和通訊系統(tǒng),云臺系統(tǒng)是指電機帶動的旋轉部分,通訊系統(tǒng)是指對電機的控制和通訊系統(tǒng),云臺系統(tǒng)是指電機帶動的旋轉部分,通訊系統(tǒng)是指對電機的控制以及對圖像和信號的處理部分,攝像機系統(tǒng)是指采用的一體機機心。
具體來講,高速球采用“精密微分步進電機”實現(xiàn)高速球的快速、準確的定位、旋轉;將攝像機疊加了OSD(on-screen display)菜單的圖像傳輸出來。通信系統(tǒng)連接上位機和MCU,實現(xiàn)操作者對云臺和攝像機的控制。通訊協(xié)議通常采用PELCO(派爾高)的傳輸協(xié)議。
本設計主要描述了uPD781146的使用,步進電機的驅動,OSD菜單的疊加,以及PELCO-P通信協(xié)議的實現(xiàn)等。
高速智能球型攝像機方案款圖:
0.png (91.51 KB, 下載次數(shù): 59)
下載附件
2017-5-1 17:00 上傳
0.png (301.56 KB, 下載次數(shù): 58)
下載附件
2017-5-1 17:00 上傳
360截圖20170501165008386.jpg (173.35 KB, 下載次數(shù): 42)
下載附件
2017-5-1 16:52 上傳
0.png (60.42 KB, 下載次數(shù): 44)
下載附件
2017-5-1 17:02 上傳
源程序:
- #include "driver.h"
- #include "TAU.h"
- #include "DELAY.H"
- #include "OSD.H"
- #include "TLC5620.H"
- #include "math.h"
- #include "Serial.H"
- #include "OSD.h"
- void System_Init(void);
- U16 ii,jj;
- //const U8 H_Motor_PA[16] = {40,137,220,255,255,255,220,137,40,137,220,255,255,255,220,137};
- //const U8 H_Motor_PB[16] = {235,235,200,117,20,117,200,235,235,235,200,117,20,117,200,235};
- void main(void)
- {
- System_Init();
- Motor_Check();
- init_upd6464a();
- while(1)
- {
- Display_Angle(Pan_Angle,Tilt_Angle);
- delay_x1ms(50);
- }
- }
-
- void System_Init(void)
- {
-
- U16 i,j;
-
-
- DI();
- Clock_Init();
-
- PM0.1 = 1;
-
- //DA
- TLC5620_Init();
- //timer
- TAU_Init();
-
- //485
- SAU1_Init();
- UART3_Start();
-
- //osd
- init_upd6464a();
- //var
-
- clock = 0;
- round = 0;
- Pan_Run_Stop_Flag = 0;
- Tilt_Run_Stop_Flag = 0;
- Pan = 0;
- Pan_Last = 0;
- Tilt = 0;
- Tilt_Last = 0;
- Pan_Clock = 0;
- Tilt_Clock = 0;
- First_Run_Pan = 0;
- First_Run_Tilt = 0;
- Pan_Angle = 0;
- Tilt_Angle = 0;
- Receive_Flag = 0;
-
-
- Micro_Step = 128;
- for(i = 0;i<(4*Micro_Step);i++)
- {
- H_Motor_PA_128[i] = (U8)((fabs(sin(3.1415*i/(2*Micro_Step))))*255);
- H_Motor_PC_128[i] = (U8)((fabs(sin(3.1415*i/(2*Micro_Step))))*255);
- H_Motor_PB_128[i] = (U8)((fabs(cos(3.1415*i/(2*Micro_Step))))*255);
- H_Motor_PD_128[i] = (U8)((fabs(cos(3.1415*i/(2*Micro_Step))))*255);
-
- }
-
- Micro_Step = 64;
- for(i = 0;i<(4*Micro_Step);i++)
- {
- H_Motor_PA_64[i] = (U8)((fabs(sin(3.1415*i/(2*Micro_Step))))*255);
- H_Motor_PC_64[i] = (U8)((fabs(sin(3.1415*i/(2*Micro_Step))))*255);
- H_Motor_PB_64[i] = (U8)((fabs(cos(3.1415*i/(2*Micro_Step))))*255);
- H_Motor_PD_64[i] = (U8)((fabs(cos(3.1415*i/(2*Micro_Step))))*255);
-
- }
-
- Micro_Step = 32;
- for(i = 0;i<(4*Micro_Step);i++)
- {
- H_Motor_PA_32[i] = (U8)((fabs(sin(3.1415*i/(2*Micro_Step))))*255);
- H_Motor_PC_32[i] = (U8)((fabs(sin(3.1415*i/(2*Micro_Step))))*255);
- H_Motor_PB_32[i] = (U8)((fabs(cos(3.1415*i/(2*Micro_Step))))*255);
- H_Motor_PD_32[i] = (U8)((fabs(cos(3.1415*i/(2*Micro_Step))))*255);
-
- }
-
- Micro_Step = 16;
- for(i = 0;i<(4*Micro_Step);i++)
- {
- H_Motor_PA_16[i] = (U8)((fabs(sin(3.1415*i/(2*Micro_Step))))*255);
- H_Motor_PC_16[i] = (U8)((fabs(sin(3.1415*i/(2*Micro_Step))))*255);
- H_Motor_PB_16[i] = (U8)((fabs(cos(3.1415*i/(2*Micro_Step))))*255);
- H_Motor_PD_16[i] = (U8)((fabs(cos(3.1415*i/(2*Micro_Step))))*255);
-
- }
- Micro_Step = 8;
- for(i = 0;i<(4*Micro_Step);i++)
- {
- H_Motor_PA_8[i] = (U8)((fabs(sin(3.1415*i/(2*Micro_Step))))*255);
- H_Motor_PC_8[i] = (U8)((fabs(sin(3.1415*i/(2*Micro_Step))))*255);
- H_Motor_PB_8[i] = (U8)((fabs(cos(3.1415*i/(2*Micro_Step))))*255);
- H_Motor_PD_8[i] = (U8)((fabs(cos(3.1415*i/(2*Micro_Step))))*255);
-
- }
-
- TLC5620_SetOutput_2(CHL0,255,CHL1,255);
- TLC5620_SetOutput_2(CHL2,255,CHL3,255);
-
- Motor_Init();
-
- delay_x1ms(600);
-
-
- EI();
-
-
-
-
-
-
- /*
- for(i = 60000;i> 1;i--)
- {
- MOTOR_PWMA = 1;//high
- MOTOR_PWMB = 0;//low
- Delay(1);
- //delay_x1ms(1);
- MOTOR_PWMA = 1;//high
- MOTOR_PWMB = 1;//high
- Delay(1);
- //delay_x1ms(1);
- MOTOR_PWMA = 0;
- MOTOR_PWMB = 1;
- Delay(1);
- //delay_x1ms(1);
- MOTOR_PWMA = 0;
- MOTOR_PWMB = 0;
- Delay(1);
- //delay_x1ms(1);
- }
- for(i = 10000;i> 1;i--)
- {
- MOTOR_PWMA = 1;//high
- MOTOR_PWMB = 0;//low
- Delay(1);
- //delay_x1ms(1);
- MOTOR_PWMA = 1;//high
- MOTOR_PWMB = 1;//high
- Delay(1);
- //delay_x1ms(1);
- MOTOR_PWMA = 0;
- MOTOR_PWMB = 1;
- Delay(1);
- //delay_x1ms(1);
- MOTOR_PWMA = 0;
- MOTOR_PWMB = 0;
- Delay(1);
- //delay_x1ms(1);
- }*/
- /*
-
- for(i = 20000;i> 19950;i-=40)
- {
-
- MOTOR_PWMA = 1;//high
- MOTOR_PWMB = 0;//low
- j = i;
- Delay(j);
- MOTOR_PWMA = 1;//high
- MOTOR_PWMB = 1;//high
- j = i-10;
- Delay(j);
- MOTOR_PWMA = 0;
- MOTOR_PWMB = 1;
- j = i-20;
- Delay(j);
- MOTOR_PWMA = 0;
- MOTOR_PWMB = 0;
- j = i-30;
- Delay(j);
- }*/
- /*
- while(1)
- {
-
- MOTOR_PWMA = 1;//high
- MOTOR_PWMB = 0;//low
- Delay(400);
- //delay_x1ms(1);
- MOTOR_PWMA = 1;//high
- MOTOR_PWMB = 1;//high
- Delay(400);
- //delay_x1ms(1);
- MOTOR_PWMA = 0;
- MOTOR_PWMB = 1;
- Delay(400);
- //delay_x1ms(1);
- MOTOR_PWMA = 0;
- MOTOR_PWMB = 0;
- Delay(400);
- //delay_x1ms(1);
-
-
- }
- */
- //TLC5620_SetOutput(CHL0,00);
- //TLC5620_SetOutput(CHL1,00);
-
-
-
- //TAU_Channel3_Start();
- /*
- while(1)
- {
-
- MOTOR_PWMA = 1;//high
- MOTOR_PWMB = 0;//low
- Delay(1490);
- //delay_x1ms(1);
- MOTOR_PWMA = 1;//high
- MOTOR_PWMB = 1;//high
- Delay(1490);
- //delay_x1ms(1);
- MOTOR_PWMA = 0;
- MOTOR_PWMB = 1;
- Delay(1490);
- //delay_x1ms(1);
- MOTOR_PWMA = 0;
- MOTOR_PWMB = 0;
- Delay(1490);
- //delay_x1ms(1);
-
-
- }
- */
-
-
-
- //delay_x1ms(100);
- //Motor_Init();
-
- //MOTOR_PWMA = 0;//high
- //MOTOR_PWMB = 0;//low
-
-
- //Motor_Init();
-
- //for(j = 1000;j<=500;j-=50)
- //{
- /*
- for(i = 1000;i>= 400;i-=200)
- {
-
- MOTOR_PWMA = 1;//high
- MOTOR_PWMB = 0;//low
- Delay(i);
- MOTOR_PWMA = 1;//high
- MOTOR_PWMB = 1;//high
- Delay(i-50);
- MOTOR_PWMA = 0;
- MOTOR_PWMB = 1;
- Delay(i-100);
- MOTOR_PWMA = 0;
- MOTOR_PWMB = 0;
- Delay(i-150);
-
-
- }
- */
-
-
- /*
-
- for(i = 900;i> 800;i-=20)
- {
-
- MOTOR_PWMA = 1;//high
- MOTOR_PWMB = 0;//low
- Delay(i);
- MOTOR_PWMA = 1;//high
- MOTOR_PWMB = 1;//high
- Delay(i-5);
- MOTOR_PWMA = 0;
- MOTOR_PWMB = 1;
- Delay(i-10);
- MOTOR_PWMA = 0;
- MOTOR_PWMB = 0;
- Delay(i-15);
-
-
- }
- while(1)
- {
-
- MOTOR_PWMA = 1;//high
- MOTOR_PWMB = 0;//low
- Delay(250);
- //delay_x1ms(1);
- MOTOR_PWMA = 1;//high
- MOTOR_PWMB = 1;//high
- Delay(250);
- //delay_x1ms(1);
- MOTOR_PWMA = 0;
- MOTOR_PWMB = 1;
- Delay(250);
- //delay_x1ms(1);
- MOTOR_PWMA = 0;
- MOTOR_PWMB = 0;
- Delay(250);
- //delay_x1ms(1);
-
-
- }
- for(i = 500;i> 100;i--)
- {
- for(j = 0;j<10;j++)
- {
- MOTOR_PWMA = 1;//high
- MOTOR_PWMB = 0;//low
- Delay(i);
- MOTOR_PWMA = 1;//high
- MOTOR_PWMB = 1;//high
- Delay(i);
- MOTOR_PWMA = 0;
- MOTOR_PWMB = 1;
- Delay(i);
- MOTOR_PWMA = 0;
- MOTOR_PWMB = 0;
- Delay(i);
- }
- }
- */
-
- //}
- //MOTOR_PWMA_PM = 1;//high
- //MOTOR_PWMB_PM = 1;//low
- /*
- TLC5620_SetOutput(CHL0,255);
- TLC5620_SetOutput(CHL1,255);
-
- for(i = 0;i< 500;i++)
- {
-
-
- TOE0 &= ~TAU_CH5_OUTPUT_ENABLE & ~TAU_CH6_OUTPUT_ENABLE;
- TAU_Channel5_ChangeDuty(100);
- TAU_Channel6_ChangeDuty(0);
-
- TOE0 |= TAU_CH5_OUTPUT_ENABLE;
- TOE0 |= TAU_CH6_OUTPUT_ENABLE;
- Delay(400);
-
-
-
-
- TOE0 &= ~TAU_CH5_OUTPUT_ENABLE & ~TAU_CH6_OUTPUT_ENABLE;
- TAU_Channel5_ChangeDuty(100);
- TAU_Channel6_ChangeDuty(100);
- TOE0 |= TAU_CH5_OUTPUT_ENABLE;
- TOE0 |= TAU_CH6_OUTPUT_ENABLE;
- Delay(400);
-
-
-
-
-
- TOE0 &= ~TAU_CH5_OUTPUT_ENABLE & ~TAU_CH6_OUTPUT_ENABLE;
- TAU_Channel5_ChangeDuty(0);
- TAU_Channel6_ChangeDuty(100);
- TOE0 |= TAU_CH5_OUTPUT_ENABLE;
- TOE0 |= TAU_CH6_OUTPUT_ENABLE;
- Delay(400);
-
-
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
下載:
高速智能球型攝像機方案設計.rar
(1.47 MB, 下載次數(shù): 9)
2017-5-1 16:54 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|
評分
-
查看全部評分
|