Abstrakt: Aplikace používá IDE řadič s DMA přenosem, umožňuje procházet adresářovou strukturu, a přehrávat video-soubory ve vlastním formátu
Aplikace používá IDE řadič s DMA přenosem, umožňuje procházet adresářovou strukturu, a přehrávat video-soubory ve vlastním formátu.
Řídící obvod grafického rozhraní používá několik řídících portů rozhraní SPI. Jako paměťové médium je použita paměť SDRAM, při použitém rozlišení 640x480 poskytuje 16 paměťových oblastí(bank). Data jsou uložena řídce, tedy součástí adresy je přímo číslo řádku a sloupce.
adresa |
režim |
použití |
délka adresy (B) |
délka dat(B) |
40H |
Z |
bit 7=zapnutí zobrazování, bity 3-0 určují zobrazovanou banku |
1 |
1 |
41H |
Z |
bity 6-0 určují horizontální rozlišení/8 (80=640) |
1 |
1 |
42H |
Z |
bity 5-0 určují vertikální rozlišení/8 (60=480) |
1 |
1 |
43H |
Z |
bity 1 a 0=změna měřítka (0=640x480, 1=320x240,2=160x120,3=80x60) |
1 |
1 |
80H+81H |
Z |
cílová adresa dat pro přenos přes výstupní kanál řadiče: bity 9-0= číslo sloupce, bity 18-10= číslo řádku, bity 22-19= číslo banky |
1 |
3 |
Tabulka :
Pro přístup k registru 80H je vhodné použít fuknci FPGA_SPI_RW_A8_D3 z jednotky ide.h, neboť funkce FPGA_SPI_RW_A8_DN převrací pořadí znaků.
inicializuje disk a načte 1. partition na disku
zobrazí seznam všech položek, případně jen položky zadaného jména (lze použít hvězdičkovou konvenci). verze dirp zobrazuje pouze jména
přejde na adresář, pracuje pouze o jednu úroveň, = kořenový adresář
přehraje video
zobrazí obrázek
Jedná se o velice jednoduchý formát sloužící k uložení statického obrázku. Obsah souboru začíná 4-znakovou identifikací "RIF ", dále následuje šířka a výška obrázku, obojí o velikosti slova. Poté jsou již uložena obrazová data, ve formátu 3:3:2 (počet bitů na R:G:B kanál), v pořadí zleva doprava a shora dolů. Maximální rozměry obrázku jsou 640x480. Obrázek ve formátu RIF lze je vytvářet ze souborů typu BMP (pouze 256 barev) pomocí utility bmp2rif dostupné v adresáři tools/avi2raf
.
Příklad použití: bmp2rif vstup.bmp výstup.rif
Tento soubor se používá k uložení videosekvencí a začíná hlavičkou, kterou popisuje následující tabulka.
Offset |
Velikost [B] |
Popis |
00H |
4 |
znaky "RAFF" |
04H |
4 |
verze (00010000H) |
08H |
2 |
velikost hlavičky (22) |
0AH |
2 |
šířka (max. 640) |
0CH |
2 |
výška (max. 480) |
0EH |
2 |
rychlost (0=neudaná) |
10H |
4 |
počet snímků |
14H |
2 |
typ komprese (0=bez komprese) |
16H |
2 |
přítomnost indexu (zatím 0) |
18H |
2 |
velikost zvukových bloků |
20H |
2 |
typ komprese zvuku |
Tabulka :
Za hlavičkou následují jednotlivé snímky. Data jsou uložena úplně ve stejném formátu jako v případě RIF. Max. velikost jednoho video snímku je 640x480, pro plynulé přehrávání však doporučujeme použít 160x120. Pro konverzi video souborů AVI lze použít utility avi2raf
a bmp2raf
v adresáři tools.
Příklad použití:
avi2raf zdroj.avi cil.raf
- jsou využity standartní API funkce, takže video může být i komprimované
bmp2raf cil.raf zdroj1.bmp zdroj2.bmp ...
- všechny soubory typu bmp musí mít stejnou velikost a hloubku 256 barev
nahrajte na disk video soubor/y
připojte pevný disk k FITkitu (viz dokument Přístup k externímu IDE disku) nakonfigurovaný jako MASTER. Kabel musí být upravený pro architekturu small
přeložte aplikaci
naprogramujte MCU a FPGA a spusťte terminálový program
aktivujte propojku J6 pro povolení periferií PC
po spuštění je nutné začít příkazem init
přehrávání spusťte příkazem play nazev_souboru