基于8位微控制器控制硬盘进行HDTV码流读写
[09-12 17:48:36] 来源:http://www.88dzw.com 单片机学习 阅读:8928次
文章摘要:unsigned char ReadSector(unsigned long point,unsigned char *Buffer){unsigned int i,k;WriteBYTE(CMD,6,0xe0); //LBA模式WriteBYTE(CMD,5,point>>16); //LBA模式下的高16位地址WriteBYTE(CMD,4,point>>8); //LBA模式下的高8位地址WriteBYTE(CMD,3,point); //LBA模式下的低8位地址WriteBYTE(CMD,2,0x80); //一次读写的扇区数//Issue read secto
基于8位微控制器控制硬盘进行HDTV码流读写,标签:单片机开发,单片机原理,单片机教程,http://www.88dzw.comunsigned char ReadSector(unsigned long point,unsigned char *Buffer){
unsigned int i,k;
WriteBYTE(CMD,6,0xe0); //LBA模式
WriteBYTE(CMD,5,point>>16); //LBA模式下的高16位地址
WriteBYTE(CMD,4,point>>8); //LBA模式下的高8位地址
WriteBYTE(CMD,3,point); //LBA模式下的低8位地址
WriteBYTE(CMD,2,0x80); //一次读写的扇区数
//Issue read sector command...
WriteBYTE(CMD,7,0x20); //0x20多为扇区读命令
Timer 10mSec=10000;
while((ReadBYTE(CMD,7)&0x08)!=0x08 && Timer 10mSec); //等待DRQ=1或者timeout
if(Timer 10mSec= =0)return 0xFF;
//Fetch the sector...
LSBDATA=ALLINPUT;
//Select address and activate CS
SetAddress(CMD,0);
for(k=0;k<0x80;k++)
for(i=0;i<512;i+=2){ //一次读两字节
nDIOR=0; //硬盘的读时钟
WCK=1;
WCK=0;
nDIOR=1;
}
nCS1FX=1; //复位CS
nCS3FX=1;
return ReadBYTE(CMD,1); //返回错误寄存器的信息
}
本文是“第三代码流回放机研制”课题的一个重要组成部分。本方案利用微控制器对硬盘进行基于LBA模式下的读写操作(不用操作系统),硬软件简洁可靠,技术上也解决前期产品的两个难题:
(1)一些旧机器的BIOS不支持INT 13h Extension,无法访问8.4G以上硬盘空间;
(2)WINDOWS操作系统不支持存储1.2G以上码流文件。
将此系统逆向设计,能够研发出适时录制TS流和卫星节目的仪器。
《基于8位微控制器控制硬盘进行HDTV码流读写》相关文章
- › 基于8位微控制器控制硬盘进行HDTV码流读写
- 在百度中搜索相关文章:基于8位微控制器控制硬盘进行HDTV码流读写
- 在谷歌中搜索相关文章:基于8位微控制器控制硬盘进行HDTV码流读写
- 在soso中搜索相关文章:基于8位微控制器控制硬盘进行HDTV码流读写
- 在搜狗中搜索相关文章:基于8位微控制器控制硬盘进行HDTV码流读写