FX2LP曲面与图像传感器的接口
我不知道如何在这个民意测验中做到这一点。
我使用EP2块在512×4 Au
tin 8位
我想把752×480 @ 54 FPS原始数据散布到主机上。
那么,如何插入每帧512个包呢?
1。当It0为下降沿时,帧结束,但FIFO未满,如何将其提交给主机?
2。DOC写步骤
1。端点配置:手动模式
2。提交512主机
三。端点配置:自动模式
如何在EP2上做?
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
空隙ISRXExt0(空隙)中断0
{
TCON&= 0xFD;/ /清除It0 TCON。1标志。这也可以通过硬件自动清除。
插入符号=1;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
在设备空闲时反复调用空dq民意调查(无效)/调用
{
If(插入式标志==1)
{
如果(!)(EP24FIFOFLGS和0x02)//
{
IpkTalk=0x02;
同步延迟;
}
而(!)(EP24FIFOFLGS和0x02)/ /
{
;
}
FippET= 0x80;/ /启动“源数据包”序列
同步延迟;
FippET= 0x82.
同步延迟;
FippET= 0x00;
EP2FIFOBUF〔0〕=0x01;//lt;STX>文本MSG的包启动
EP2FIFOBUF〔1〕=0x02;//lt;ACK>
EP2FIFOBUF〔2〕=0X03;//LT;心跳& GT;
EP2FIFOBUF〔3〕=0x04;//lt;
同步延迟;
EP2BCH=0x02;
同步延迟;
EP2BCL=0x00;/ /将新来源的缓冲区传递到HOS
插入符号=0;
}
}
以上来自于百度翻译
以下为原文
Interfacing FX2LP™ with Image Sensor
I don't know how to do this in the TD_POLL
I use the EP2 bulk in 512*4 autoin 8bit
I want to bulk the 752*480@54 fps RAW data to the host.
so, how I can insert a 512 package per frame?
1. when the INT0 is falling edge , the frame is end, but the FIFO is not full, how to commit it to the host?
2. the doc write the step
1. CONFIGURE IN ENDPOINT : MANUALMODE
2. COMMIT 512 TO HOST
3. CONFIGURE IN END POINT : AUTO MODE
how to do it on the EP2?
/////////////////////////////////////////////////////
void ISR_EXTR0(void) interrupt 0
{
TCON &= 0xFD; // Clear INT0 TCON.1 Flag . This is also automatically cleared by hardware.
Insert_flag = 1;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
void TD_Poll(void) // Called repeatedly while the device is idle
{
if(Insert_flag == 1)
{
if(!(EP24FIFOFLGS & 0x02)) // 如果不空 发出去
{
INPKTEND = 0x02;
SYNCDELAY;
}
while( !(EP24FIFOFLGS & 0x02)) // 不空就等 等到空
{
;
}
FIFORESET = 0x80; // initiate the “source packet” sequence
SYNCDELAY;
FIFORESET = 0x82;
SYNCDELAY;
FIFORESET = 0x00;
EP2FIFOBUF[ 0 ] = 0x01; //
, packet start of text msg
EP2FIFOBUF[ 1 ] = 0x02; //
EP2FIFOBUF[ 2 ] = 0x03; //
EP2FIFOBUF[ 3 ] = 0x04; // , packet end of text msg
SYNCDELAY;
EP2BCH = 0x02;
SYNCDELAY;
EP2BCL = 0x00; // pass newly-sourced buffer on to hos
Insert_flag = 0;
}
}