OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6620|回复: 12

407做7寸视频监控没戏

[复制链接]

11

主题

110

帖子

0

精华

初级会员

Rank: 2

积分
187
金钱
187
注册时间
2015-11-17
在线时间
6 小时
发表于 2015-11-25 11:11:51 | 显示全部楼层 |阅读模式
经过评测,407将OV2640配置输出为800x400的YCBCR,利用双DMA,存放在SRAM后,读出数据转换成RGB显示在7寸屏,无论使用何种算法包括查表法,都不能达到或者超过15帧。

现在想用429替换407,429比407的优势有两个,一个是自带LCD控制器,省了SSD1963.第二个是内置了Chrom-ART Accelerator和ART Accelerator?存取加速技术,新产品可提升图形处理性能、实时处理速度以及内核对程序存储器的存取速度。

现在不太清楚这个加速技术能对2D显示提升多少……

而且貌似429这片子不太好买,也有点贵。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

13

主题

296

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2066
金钱
2066
注册时间
2012-5-26
在线时间
291 小时
发表于 2015-11-25 11:19:37 | 显示全部楼层
学习了,不过市场上有专门做视频监控的方案吧
活着才是王道!健康是一切的前提!
回复 支持 反对

使用道具 举报

11

主题

110

帖子

0

精华

初级会员

Rank: 2

积分
187
金钱
187
注册时间
2015-11-17
在线时间
6 小时
 楼主| 发表于 2015-11-25 11:21:32 | 显示全部楼层
回复【2楼】lison0103:
---------------------------------
这个方案简单,便宜……
回复 支持 反对

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
发表于 2015-11-25 15:03:55 | 显示全部楼层
是不是 转码——SRAM——DMA——屏幕 更好些?
不带控制器刷屏过程太慢,而且需要CPU分出部分时间来控制刷屏
F429可以在SDRAM中劈出显存空间,放数据即可,刷屏过程由控制器自行完成
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

初级会员

Rank: 2

积分
68
金钱
68
注册时间
2015-11-28
在线时间
10 小时
发表于 2015-11-28 20:50:19 | 显示全部楼层
朋友,我现在的公司要做一个有关自动聚焦算法的项目 我想用F407+SAA7113+SRAM 的组合做,输入是PAL制的模拟信号,大概思路就是像你一样使用DMA采集当前的一帧图像然后存在SRAM中,摄像机的一个焦距的步长仅采集一帧(像素是720*576的),算法不是很复杂,这样实时性可以保证吗?
回复 支持 反对

使用道具 举报

11

主题

1044

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3708
金钱
3708
注册时间
2011-5-23
在线时间
2010 小时
发表于 2015-11-28 23:53:33 | 显示全部楼层
专用芯片便宜量又足,何必瞎折腾?
RT-Thread RTOS 音频,WIFI,蓝牙
回复 支持 反对

使用道具 举报

11

主题

110

帖子

0

精华

初级会员

Rank: 2

积分
187
金钱
187
注册时间
2015-11-17
在线时间
6 小时
 楼主| 发表于 2015-11-29 10:52:02 | 显示全部楼层
回复【6楼】aozima:
---------------------------------
因为考虑到软件开发,后续采购,公司原有产品平台融合,而且该产品还有别的任务要运行。
回复 支持 反对

使用道具 举报

11

主题

110

帖子

0

精华

初级会员

Rank: 2

积分
187
金钱
187
注册时间
2015-11-17
在线时间
6 小时
 楼主| 发表于 2015-11-29 10:53:11 | 显示全部楼层
回复【5楼】zhengcheng2717:
---------------------------------
现在800X480实时视频是10帧左右。
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

初级会员

Rank: 2

积分
68
金钱
68
注册时间
2015-11-28
在线时间
10 小时
发表于 2015-11-29 15:33:33 | 显示全部楼层
回复【8楼】liuhuamin007:
---------------------------------
0.2秒处理一帧就够了,看来可以用这套方案
回复 支持 反对

使用道具 举报

11

主题

110

帖子

0

精华

初级会员

Rank: 2

积分
187
金钱
187
注册时间
2015-11-17
在线时间
6 小时
 楼主| 发表于 2015-11-29 15:37:27 | 显示全部楼层
回复【9楼】zhengcheng2717:
---------------------------------
不错
回复 支持 反对

使用道具 举报

11

主题

42

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
412
金钱
412
注册时间
2015-11-7
在线时间
166 小时
发表于 2015-12-3 11:40:01 | 显示全部楼层
F407 800*480的7寸屏 SSD1963驱动 DMA+SRAM的话 本人测试最快是20帧
回复 支持 反对

使用道具 举报

11

主题

110

帖子

0

精华

初级会员

Rank: 2

积分
187
金钱
187
注册时间
2015-11-17
在线时间
6 小时
 楼主| 发表于 2015-12-3 12:21:06 | 显示全部楼层
回复【11楼】Q.钦:
---------------------------------
差不多,前提是不转格式。
回复 支持 反对

使用道具 举报

30

主题

158

帖子

2

精华

金牌会员

Rank: 6Rank: 6

积分
1525
金钱
1525
注册时间
2015-11-11
在线时间
163 小时
发表于 2015-12-8 23:23:32 | 显示全部楼层
楼主能不能帮我看看我的SSD1963为什么在F407上总是显示不正常,不能正确显示白色的图片或者文字,其他颜色可以。这是我的驱动
typedef struct
{
vu16 LCD_REG;
vu16 LCD_RAM;
}LCD_TypeDef;

/* LCD is connected to the FSMC_Bank1_NOR/SRAM2 and NE2 is used as ship select signal */
#define LCD_BASE    ((u32)(0x64000000 | 0x0000007E))//fsmc_A6作为RS
#define LCD         ((LCD_TypeDef *) LCD_BASE)

void LCD_Init(void)
{
    其他引脚都是复用推挽输出,当开启PA10的复用功能后,屏就会亮,不开启复用功能,屏不会亮
GPIO_PinAFConfig(GPIOA,GPIO_PinSource10,GPIO_AF_USART1);  //pwm复用配置,LCD背光

Timing_Read.FSMC_AddressSetupTime = 10;  //一开始为,f103这里是3
Timing_Read.FSMC_AddressHoldTime = 0;
Timing_Read.FSMC_DataSetupTime = 8;  //一开始为12,f103这里是4
Timing_Read.FSMC_CLKDivision = 0;
Timing_Read.FSMC_BusTurnAroundDuration = 0;
Timing_Read.FSMC_DataLatency = 0;
Timing_Read.FSMC_AccessMode = FSMC_AccessMode_A;

FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2;
FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable;
FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_SRAM;
FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b;
FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable;
FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low;
FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable;
FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState;
FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable;
FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable;
FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable;
FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable;
FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &Timing_Read;
FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &Timing_Read;
FSMC_NORSRAMInit(&FSMC_NORSRAMInitStructure);

FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM2, ENABLE);

然后依次写E2,E0,01,E6,B0,B4,B6寄存器,写完之后这是接下来的寄存器的配置
LCD_WR_REG(0x00BA);  //字是正着的
LCD_WR_DATA(0x0005);           //GPIO[3:0] out 1

LCD_WR_REG(0x00B8);
LCD_WR_DATA(0x0007);
// LCD_WR_DATA(0x000f); //GPIO3=input, GPIO[2:0]=output
LCD_WR_DATA(0x0001);    //GPIO0 normal

LCD_WR_REG(0x0036);       //rotation of color
LCD_WR_DATA(0x0008);  //显示为从上到下,从左到右,帧缓存里为RGB,显示为BGR

LCD_WR_REG(0x00F0);     //pixel data interface
LCD_WR_DATA(0x0003);  //设置像素为16位(565)模式


delay_ms(100);
LCD_WR_REG(0x0029);        //display on

LCD_WR_REG(0x00BE);        //set WM for B/L
LCD_WR_DATA(0x0006);
LCD_WR_DATA(0x0080);

LCD_WR_DATA(0x0001);
LCD_WR_DATA(0x00f0);
LCD_WR_DATA(0x0000);
LCD_WR_DATA(0x0000);

LCD_WR_REG(0x00d0);//设置动态背光控制配置 
LCD_WR_DATA(0x000d);
LCD_Clear(BLACK)
好好学习
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-25 18:14

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表