|
Kategorie: Diplomové, bakalářské práce |
Tento dokument chci!
Diplomová práce se zabývá návrhem a realizací obvodu potrebných pro sestavení vysílace DRM pro krátkovlnná radioamatérská pásma. Je popsán standard DRM a je upozorneno narozdíly mezi standardem pro rozhlasové vysílání a radioamatérské použití. Uveden je návrh vstupních audio obvodu, modulátoru, smešovace, místního generátoru, zesilovace a filtru. Použitý SSB modulátor je založen na fázové metode, casto nazývané Tayloeuv modulátor. Tento princip je podrobne rozebrán včetně odvozeného matematického popisu. Vysílač je možné rídit pomocí programu na pocítaci, komunikace probíhá pres sbernici USB. Vytvorení komunikace je v práci také popsáno.
První dvojice řádků popisuje komunikace směru
zařízení host (počítač), druhá dvojice popisuje opačný směr. Nastavuje zde například port piny, které
jsou připojeny vodiče D-. Tyto informace počítač vyžádá při připojení zařízení. Počítač rozpozná zařízení podle vendor device ID, které
se zde také definuje, dále pak definice třídy HID, délka deskriptoru další. Součástí projektu
V-USB soubor několika vendor device ID, které možné volně použít pro nekomerční
účely.h jsou zde uvedeny:
#define USB_CFG_IOPORTNAME D
#define USB_CFG_DMINUS_BIT 1
#define USB_CFG_DPLUS_BIT 2
#define USB_CFG_INTR_POLL_INTERVAL 20
#define USB_CFG_VENDOR_ID 0xc0, 0x16
#define USB_CFG_DEVICE_ID 0xdf, 0x05
#define USB_CFG_INTERFACE_CLASS 3
#define USB_CFG_HID_REPORT_DESCRIPTOR_LENGTH 38
Ve vlastním „. Další důležitá
nastavení provádí souboru usbconfig. Jako deskriptory USB komunikace označují
datové struktury, informující hosta (počítač) schopnostech vlastnostech připojeného
zařízení.
V aplikaci byl použit následující HID report deskriptor, převzatý [44]:
PROGMEM char usbHidReportDescriptor[38] USB report descriptor */
{
0x06, 0x00, 0xff, USAGE_PAGE (Generic Desktop)
0x09, 0x01, USAGE (Vendor Usage 1)
0xa1, 0x01, COLLECTION (Application)
0x19, 0x01, USAGE_MINIMUM (0)
0x29, 0x03, USAGE_MAXIMUM (3)
0x15, 0x00, LOGICAL_MINIMUM (0)
0x26, 0xff, 0x00, LOGICAL_MAXIMUM (255)
0x75, 0x08, REPORT_SIZE (8)
0x95, 0x03, REPORT_COUNT (3)
0x81, 0x02, INPUT (Data,Var,Abs)
0x19, 0x01, USAGE_MINIMUM (0)
0x29, 0x03, USAGE_MAXIMUM (3)
0x15, 0x00, LOGICAL_MINIMUM (0)
0x26, 0xff, 0x00, LOGICAL_MAXIMUM (255)
0x75, 0x08, REPORT_SIZE (8)
0x95, 0x03, REPORT_COUNT (3)
0x91, 0x02, OUTPUT (Data,Var,Abs)
0xc0 END_COLLECTION
};
Pro uživatele jsou důležité především řádky okomentované „USAGE MINIMUM“
a „USAGE MAXIMUM“, které definují, kolik minimálně maximálně užitečných bajtů dat
se může přenést při jednom reportu.
Některé řádky usbconfig.c“ souboru, kterém jsou umístěny funkce pro odesílání přijímání dat,
je nutné definovat HID report deskriptor. Při komerční výrobě musí vlastní identifikační čísla žádat příslušnou autoritu. HID report deskriptor
informuje počítač formátu posílaných dat.
Odesílání dat zařízení počítače zajišťuje funkce
void USB_send_prepared_data_to_PC(void)
{
if(usbInterruptIsReady())
{ uchar odeslana_data;
uchar len sizeof(odeslana_data);
.73
V souboru usbdrvasm.h.s definujeme taktovací kmitočet mikrokontroléru