弄个电子门镜有没有钱途?

[复制链接]
6810|27
 楼主| wangkj 发表于 2009-5-4 09:15 | 显示全部楼层 |阅读模式
cmos摄像头&nbsp;+&nbsp;cpld&nbsp;+sram+2.5寸lcd<br />成本应该不到100.<br /><br />买个普通的门镜还100多呢。
yewuyi 发表于 2009-5-4 09:28 | 显示全部楼层

普通普通只需要1块钱

装个有机玻璃就可以了。<br /><br /><br />王会计老是拿成本说话,但又总是犯成本计算上的错误,你说的:cmos摄像头&nbsp;+&nbsp;cpld&nbsp;+sram+2.5寸lcd,成本应该不到100<br /><br /><br />老兄,你实际生产看看,你就知道成本应该怎么算了,不要老是拿材料成本说话好不好,那显得很‘小白’的,算上人工成本,运输费用,包装成本,市场费用,资金占压费用,管理成本等,你两个100元也未必打的住,根据我所知所学,对于这样的产品,材料成本一般在35%左右,其它成本60%,利润5%,你看看这样的价格还能卖得出去吗?<br />
浪子007 发表于 2009-5-4 10:24 | 显示全部楼层

基本等于垃圾

再清晰能有玻璃门镜清晰吗
 楼主| wangkj 发表于 2009-5-4 16:20 | 显示全部楼层

玻璃门镜 别人能看到主人是否到门口了

不信你试试看,如果门外有枪,嘿嘿嘿嘿嘿嘿...................<br /><br />材料成本一般在35%左右,其它成本60%,利润5%<br />这个咋算的?<br />
yewuyi 发表于 2009-5-4 16:24 | 显示全部楼层

那个比例是统计值

一般来说,这样的产品最后基本都是这样,不会有太大差异,如果你能把60%的其它成本降低下来,一般企业也不会降低销售价格,所以只是企业的纯利润比例会从5%提高一点。<br /><br />呵呵,不要不相信,不信你问问坛子里自己干的几个人,看看他们对这个比例怎么看。。。
 楼主| wangkj 发表于 2009-5-4 17:07 | 显示全部楼层

前段时间,有人问我,

cmos摄像头直接显示到tft屏上,我就考虑这个问题。<br /><br />现在的传统的小crt的门铃对讲系统,很老了,<br />我觉得,弄个tft的,可能更有销路。<br /><br />tft毕竟很有档次啊。<br /><br />我说的成本100不是说卖100,当然卖的越高越好。能卖到10000才好呢。<br />问题是,谁要啊。所以,成本和最终售价,必须有个合理的值。<br /><br />想出来重要,做出来重要,卖出去同样也重要。3个一个不能少。<br /><br />我不知道,有没有类似的产品和思路。<br /><br />我这样想,是因为,没有技术障碍,我这段时间,一直在做关于显示方面和<br />cpld方面的东西。
PowerAnts 发表于 2009-5-4 17:17 | 显示全部楼层

不会吧

02年,视得安就有TFT的门铃了
PowerAnts 发表于 2009-5-4 17:20 | 显示全部楼层

可试着与GPRS模块组合

主人不在家,&nbsp;一旦门上有振动,还可发彩信,具实时性;&nbsp;录像,具追溯性;还可以丢掉钥匙,玩手机开门,哈...
 楼主| wangkj 发表于 2009-5-5 08:10 | 显示全部楼层

其实,我也想弄个网络控制板的,但是,那样成本高很多

02年的那个东西的价格得几千,现在,<br />成本大降。<br />
 楼主| wangkj 发表于 2009-5-5 08:12 | 显示全部楼层

cmos出来的是数字信号,能不能经过调制

远程传输,这样,<br />一路电缆,<br />可以传输很多路信号。<br /><br />解调后,用cpld处理一下,送到tft,远程摄像头
McuPlayer 发表于 2009-5-5 08:58 | 显示全部楼层

CMOS的sensor有几种

有输出数字信号的,也有输出AV信号的
McuPlayer 发表于 2009-5-5 09:00 | 显示全部楼层

关于小叶的比例

这个跟每个工厂的具体情况有关,但生产成本是千万不要忽略的。<br /><br />我用来评估的公式,大致如下:<br />一块钱的成本,二块钱的出厂价,三块钱的零售价
PowerAnts 发表于 2009-5-5 09:52 | 显示全部楼层

re:wangkj

搞一个简易的CCAV就是了,各信道的电平差控制在3dB,便可有效的控制干扰
 楼主| wangkj 发表于 2009-5-5 10:14 | 显示全部楼层

CCAV 俺不懂

模拟电路,只知道一些皮毛。<br />不过,看来,这个方案是可行的。<br /><br />
cooperate 发表于 2009-5-5 21:14 | 显示全部楼层

王会计不愧是技术人才 对成本不甚敏感 呵呵

&nbsp;&nbsp;&nbsp;&nbsp;这种安防类别的产品,按老叶的成本分析比较合理。<br />&nbsp;&nbsp;&nbsp;&nbsp;要我说,这个产品如用1元器件成本,得卖3元(渠道、批发),零售5元(终端客户),另外加税。<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;深圳太平洋安防里面,这个东东没见几个,估摸着量难走大,建议老王先分析市场,以免事倍功半,呵呵。<br />&nbsp;&nbsp;&nbsp;&nbsp;
一级菜鸟 发表于 2009-5-5 21:19 | 显示全部楼层

“不要老是拿材料成本说话好不好,那显得很‘小白’的”

这个要顶一下的
 楼主| wangkj 发表于 2009-5-5 23:52 | 显示全部楼层

发大财了

1元器件成本,得卖3元(渠道、批发),零售5元(终端客户),另外加税。<br />要是能这么卖,早发大财了。
armecos 发表于 2009-5-6 01:28 | 显示全部楼层

王会计成本算错了,

&nbsp;&nbsp;&nbsp;&nbsp;这个需要专业人员来计算,我听会计说的,挺复杂的,也可能我理解得不对:<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;1、原材料成本,要考虑增值税等问题精算;<br />&nbsp;&nbsp;&nbsp;&nbsp;2、房租、水电、清洁工、保安、人员工资福利,办公家具等的费用支出要摊在成本里;<br />&nbsp;&nbsp;&nbsp;&nbsp;3、要给亏损项目背债,比如:公司做10个项目,2个赢利,2个不赔不赚,6个亏损,那么,那6个亏损的项目要用赢利项目堵窟窿;<br />&nbsp;&nbsp;&nbsp;&nbsp;4、留出足够现金流,比如准备好犯错误要交的学费,罚款准备,呆坏帐准备,过冬费用,管理成本等等;<br />&nbsp;&nbsp;&nbsp;&nbsp;5、市场费用,你可能要给渠道、批发商一半利润的费用,还有运输费用,包装成本,广告费以及报销的费用都要摊在成本里;<br />&nbsp;&nbsp;&nbsp;&nbsp;6、公司总得长大,要留出再投资的利润。小公司每年总要有1000%增长率吧,大公司也要有10-30%增长率吧;<br />&nbsp;&nbsp;&nbsp;&nbsp;7、要交税,羊毛出在羊身上;<br />&nbsp;&nbsp;&nbsp;&nbsp;8、做帐需要。<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;总之,所有费用都要摊到成本里,这个费用是指你公司总的费用,比如上面说的6个项目的亏损也要摊在这个产品的成本里。这样一算,你的产品成本说不定是3000元/台,哈哈,真不是开玩笑,我是算上你要交的学费。如果成本过高就得冲量,以便分摊成本,要上量就要买地建厂房买设备招工人,你先投一大笔钱吧。当然,还有一个办法是增加周转率,薄利多销,不过,要先准备一大笔广告费用,呵呵。<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;另外,还有一个盈亏平衡点的问题,比如:你成本3元卖5元,利润2元(假定不算税什么的),你的租金5000元/月,还有人员费用,你每月至少要卖出几千个产品才能保证你不亏,过了这个平衡点以后,才是你真正赚钱的时候。这个每月都得从头开始计算。<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;所以做产品对小公司来说很艰难,搞不好资金链就绷断了。小公司适宜搞厚利适销。
armecos 发表于 2009-5-6 01:37 | 显示全部楼层

CMOS sensor + GPRS方案《增值包》里有,

用的定制编解码ASIC芯片,可以用手机查看,可录像,可以把蓝牙装门里自动感应。<br /><br />*****************************************<br />*&nbsp;ecos增值包应用举例---视频监控终端方案&nbsp;*<br />*****************************************<br />&nbsp;&nbsp;&nbsp;&nbsp;2007/03/15&nbsp;&nbsp;asdjf@163.com&nbsp;&nbsp;www.armecos.com<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;ecos增值包提供了多线程调度、文件系统、TCP/IP协议栈、图形用户界面等完整功能,裁减配置能力强,特别适合中高端嵌入式应用开发。税控机、行驶记录仪、视频监控终端、网络传输设备等都可以考虑使用ecos平台简化设计,减少代码量。<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;下图是一个视频监控终端示意图:<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;键盘、烟雾/温度/红外传感器、I/O输出控制<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-------------------------------<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DMA/中断&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|---------&gt蓝牙模块<br />&nbsp;&nbsp;&nbsp;&nbsp;四路视频输入---------&gt|&nbsp;SAA7111&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;视音频&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|---------&gt以太网Ethernet<br />&nbsp;&nbsp;&nbsp;&nbsp;一路音频输入/输出----&gt|&nbsp;A/D、D/A&nbsp;&nbsp;&nbsp;编解码器&nbsp;&nbsp;&nbsp;MCU&nbsp;&nbsp;&nbsp;|---------&gtGPRS、CDMA串口<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RTC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|---------&gtWiFi<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-------------------------------<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;硬盘/CF卡/SD卡/USB存储设备<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;此系统包括四路视频输入(一路选通,支持CMOS摄像头、PAL/NTSC/用户自定义制式);一路音频输入输出;多种大容量存储外设,满足配置文件和视频文件存储;输入输出I/O设备;各种传感器探测;网络通信部分,满足远近距离音视频传输。<br />&nbsp;&nbsp;&nbsp;&nbsp;系统内部由A/D、D/A转换器,视音频编解码器,MCU子系统组成。<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;对于这么一个小系统,使用ecos增值包来设计是非常方便的。<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;存储设备:直接挂装文件系统,mount&nbsp;/hd、/cf、/sd、/usb,然后利用标准的文件操作函数读写各种介质上的数据。(项目进度可控)<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;输入输出设备:采用《第二讲硬件IO操作》和《第三讲ecos中断操作》可以非常容易地实现输入输出控制。键盘中断结构直接抄模板,I/O操作使用宏,便于移植。(项目进度可控)<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;网络传输设备:采用《第六讲串口操作》,将GPRS/CDMA的MODEM串口挂装到/dev/ser1上,ecos自动枚举串口,会自动识别出MODEM串口和各种版本的16C55x工业标准,编译时已经配置好是否需要RAM缓冲区及其大小(带缓冲区的自动基于中断驱动),用户只要操作抽象的串口文件即可。ecos自带完整协议栈,支持PPP、UDP、TCP,用户只要使用标准的socket编程(多播、组播、RTP/RTCP)即可。(项目进度可控)<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;A/D、D/A设备:视频数据量大,采用DMA能大大减少压栈、出栈操作,提高效率。中断操作参考《第三讲》。SAA7111采用I2C接口,操作复杂,适宜使用C++编程,参考《第十三讲&nbsp;宏、汇编、C和C++混合编程》。抽象I2C、EEPROM和SAA7111为C++对象:<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />//======================================================<br />&nbsp;&nbsp;&nbsp;&nbsp;class&nbsp;CIICBus<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;private:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//for&nbsp;video&nbsp;iic<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//for&nbsp;eeprom&nbsp;iic<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;public:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CIICBus(int&nbsp;who&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;&nbsp;SCLOut(&nbsp;IIC_LEVEL&nbsp;Level&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;&nbsp;SDAOut(&nbsp;IIC_LEVEL&nbsp;Level&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;IIC_LEVEL&nbsp;&nbsp;SCLIn(&nbsp;void&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;IIC_LEVEL&nbsp;&nbsp;SDAIn(&nbsp;void&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;&nbsp;BusDelay(&nbsp;int&nbsp;Count&nbsp;);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;BOOL&nbsp;&nbsp;CheckBusState(&nbsp;void&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;&nbsp;BusStart(&nbsp;void&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;&nbsp;BusRepeatStart(&nbsp;void&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;&nbsp;BusStop(&nbsp;void&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;&nbsp;WriteByte(&nbsp;unsigned&nbsp;char&nbsp;Data&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;&nbsp;ReadByte(&nbsp;unsigned&nbsp;char&nbsp;&Data&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;BOOL&nbsp;&nbsp;GetAck(&nbsp;void&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;&nbsp;SetAck(&nbsp;IIC_LEVEL&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;static&nbsp;void&nbsp;&nbsp;Init();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;static&nbsp;void&nbsp;&nbsp;Lock();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;static&nbsp;void&nbsp;&nbsp;Unlock();<br />&nbsp;&nbsp;&nbsp;&nbsp;};<br />//======================================================<br />&nbsp;&nbsp;&nbsp;&nbsp;class&nbsp;CEeprom&nbsp;:&nbsp;public&nbsp;CIICBus<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;private:<br />&nbsp;&nbsp;&nbsp;&nbsp;cyg_mutex_t&nbsp;hMutex;<br />&nbsp;&nbsp;&nbsp;&nbsp;public:<br />&nbsp;&nbsp;&nbsp;&nbsp;CEeprom();&nbsp;&nbsp;//:CIICBus(&nbsp;0&nbsp;)&nbsp;{&nbsp;BusStop();&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;public:<br />&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;Init();<br />&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;Write(&nbsp;unsigned&nbsp;char&nbsp;*buf,&nbsp;unsigned&nbsp;char&nbsp;pos,&nbsp;unsigned&nbsp;char&nbsp;size&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;Read(&nbsp;unsigned&nbsp;char&nbsp;*buf,&nbsp;unsigned&nbsp;char&nbsp;pos,&nbsp;unsigned&nbsp;char&nbsp;size&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;};<br />//======================================================<br />&nbsp;&nbsp;&nbsp;&nbsp;class&nbsp;CSAA7111&nbsp;:&nbsp;public&nbsp;CIICBus<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;private:<br />#ifdef&nbsp;__ECOS__<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//寄存器地址<br />#endif<br />&nbsp;&nbsp;&nbsp;&nbsp;protected:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;int&nbsp;&nbsp;m_BusTimeout;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;public:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CSAA7111(&nbsp;unsigned&nbsp;int&nbsp;DelayConst&nbsp;=&nbsp;10,&nbsp;unsigned&nbsp;int&nbsp;BusTimeout&nbsp;=&nbsp;3&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:CIICBus(1),&nbsp;m_BusTimeout(&nbsp;BusTimeout&nbsp;)&nbsp;&nbsp;&nbsp;{}&nbsp;&nbsp;<br /><br />#ifdef&nbsp;__ECOS__<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;&nbsp;Reset(&nbsp;void&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;&nbsp;PowerSave(&nbsp;BOOL&nbsp;Enable&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;&nbsp;ForbidOutput(&nbsp;BOOL&nbsp;Enable&nbsp;);&nbsp;&nbsp;//&nbsp;operate&nbsp;CE,&nbsp;not&nbsp;FEI#<br />#endif<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;public:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BOOL&nbsp;&nbsp;Initialize(&nbsp;void&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BOOL&nbsp;&nbsp;WriteReg(&nbsp;unsigned&nbsp;char&nbsp;Reg,&nbsp;unsigned&nbsp;char&nbsp;Data&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BOOL&nbsp;&nbsp;ReadReg(&nbsp;unsigned&nbsp;char&nbsp;Reg,&nbsp;unsigned&nbsp;char&nbsp;&Data&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BOOL&nbsp;&nbsp;SetVideoSource(&nbsp;int&nbsp;CamNo&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BOOL&nbsp;&nbsp;GetVideoSource(&nbsp;int&nbsp;&CamNo&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BOOL&nbsp;&nbsp;CheckVideoSingal(&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;&nbsp;SetBusTimeout(&nbsp;unsigned&nbsp;int&nbsp;BusTimeout&nbsp;&nbsp;)&nbsp;{&nbsp;m_BusTimeout&nbsp;=&nbsp;BusTimeout;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;&nbsp;GetBusTimeout(&nbsp;unsigned&nbsp;int&nbsp;&BusTimeout&nbsp;)&nbsp;{&nbsp;BusTimeout&nbsp;=&nbsp;m_BusTimeout;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;};<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;对象化的SAA7111操作接近人类的思维习惯,初始化、读写寄存器、设置视频源、检测视频信号等思路非常清晰。利用《第十二讲&nbsp;多目录下makefile的通用写法》中介绍的宏定义可以根据实际情况调节代码,如“#ifdef&nbsp;__ECOS__”。<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;视音频编解码器:采用自行设计的ASIC芯片HJV进行H.264视频压缩,视频编码器寄存器种类繁多,采用面向对象的设计方法可以保证代码质量。<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;class&nbsp;CHJVCodec<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;private:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;HJ602&nbsp;status<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Video&nbsp;input<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Display&nbsp;generation<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Video&nbsp;output<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Codec&nbsp;operation&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Chip&nbsp;operation<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;video&nbsp;buffer&nbsp;management<br />&nbsp;&nbsp;&nbsp;&nbsp;public:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;WriteDecBuf<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;WriteDecBuf<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;ReadDecBuf<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;private:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;ValueBitrate<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;ValueChunkThreshold<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;public:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CHJVCodec<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Chip&nbsp;IO<br />#ifdef&nbsp;_ECOS_<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;ReadReg<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;WriteReg<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;WriteRegNoMask<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;ReadDram<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;ReadDram<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;WriteDram<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;WriteDram<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;Vstrm_Out<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;GetStatus<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;CheckHW<br />#endif<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;ReadTLB<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;WriteTLB<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;RegDump<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Chip&nbsp;Initialization<br />#ifdef&nbsp;_ECOS_<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;HwReset<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;SwReset<br />#endif<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;Initialize<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;InitReg<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;InitTLB<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Clock&nbsp;Setting<br />&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;SetClock<br />&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;PowerSave<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Video&nbsp;Input<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;SetViControl<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;SetViFilter<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;SetViSource<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;SetViTvFormat<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BOOL&nbsp;SetViScaling<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BOOL&nbsp;SetEncImgSize<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;SetDecImgSize<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Codec&nbsp;Operation<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;SetIPFrame<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;SetAlgorithm<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;EncFastUpdate<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;SetEncVideoMode<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;SetEncPolicy<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;SetEncBitRate<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;SetStatisticsCtl<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;SetMBFresh<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Display&nbsp;Generation<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;SetDeBlock<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;SetPipSrc<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;SetPipBorder<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;SetPipPos<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;SetPipScaling<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;SetPipBitmapSize<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;SetPipMirror<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;MainMirror<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;SetOSDCtl<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;SetFrameBufSize<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;SetDispScaling<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;SetDispUpdate<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;ManualUpdate<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Display&nbsp;Interface<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;SetVoTvFormat<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;SetRGBDAC<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;SetDvOut<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;SetDoubleImgSize<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;SetPixelFetch<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;SetDispTiming<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;SetDispMode<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;SetDispLayout<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Chip&nbsp;Operation<br />#ifdef&nbsp;_ECOS_<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;SetOperationMode<br />#endif&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;SetHwIntLoop<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Member&nbsp;data&nbsp;retrievel&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;GetDramSize<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;GetClock<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;GetViSource<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;GetViControl<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;GetViFilter<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;GetViScaling<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;GetEncImgSize<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;GetDecImgSize<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;GetIPFrame<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;GetAlgorithm<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;GetEncVideoMode<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;GetEncPolicy<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;GetEncBitRate<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;GetStatisticsCtl<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;GetDeBlock<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;GetPipCtl<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;GetMirror<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;GetOsdCtl<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;GetFrameBufSize<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;GetDispUpdate<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;GetVoCtl<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;GetOperationMode<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;GetHwIntLoop<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;SetEncodeMode<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;StartEncoding<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;SetVideoFormat<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;SetFrameRate<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;SetEncQuality<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;SetIFrameInterval<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;ResetBuffer<br />&nbsp;&nbsp;&nbsp;&nbsp;};<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;经过H.264和g.723.1/g.729压缩的视音频数据加上H.245控制经H.223合路,就可以实现串型码流的音频、视频、数据同时传输,Windows上的DirectX可以直接解码此音视频流数据。ecos库里带有H.264、MP4、MP3、G系列音视频编解码库,但软件运行太慢,即使DSP也显得芯片面积太大了,这里使用一小颗视音频编解码ASIC芯片。不过合路时的数据量仍然很大,对MCU速率有较高要求。<br />&nbsp;&nbsp;&nbsp;&nbsp;因为网络传输速率可变,所以需要实时调整视频源编码速率,以保证视频的连续实时,此时,要用到《第十讲&nbsp;时间管理》里介绍的时间相关函数辅助计算编码速率,按照码源速率控制算法控制数据生成。<br />&nbsp;&nbsp;&nbsp;&nbsp;在访问一些临界资源时要采用《第十一讲&nbsp;同步原语》介绍的同步函数进行控制。<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;好了,这只是ecos增值包的一个简单应用例子,介绍它的目的主要是让使用者明白文档中各章节的讲解是如何与实际项目联系起来的。以后再介绍行驶记录仪的方案、路由器方案、***/防火墙方案等。<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;总之,ecos是一个不错的平台,学习和使用ecos增值包很有益处。
cooperate 发表于 2009-5-6 08:31 | 显示全部楼层

王会计 只要你做出来的有特点和市场潜力

&nbsp;&nbsp;&nbsp;&nbsp;我可以按我说的价格做你的代理,到时候你适当照顾下,呵呵
您需要登录后才可以回帖 登录 | 注册

本版积分规则

580

主题

9972

帖子

24

粉丝
快速回复 在线客服 返回列表 返回顶部