Archive for Sierpień, 2010

dsPIC30f6014A i rozpoznawanie mowy

czwartek, Sierpień 26th, 2010 | technologia | Możliwość komentowania dsPIC30f6014A i rozpoznawanie mowy została wyłączona

Od kilku miesięcy pracuję z rozwiązaniami ze stajni Microchip’a i już kilka razy zaskoczony byłem jak własne rozwiązania mogą być niekompatybilne, nie wspominając już o błędach w dokumentacji. W początkowej fazie projektu gdy miałem pod ręką jedynie dsPIC30f6014 udało mi się odpalić i trochę popracować z rozwiązaniami do rozpoznawania mowy niezależnie ud użytkownika. Microchip udostępnia zarówno pliki biblioteki, dokumentacje, jak i oprogramowanie umożliwiające trening i stworzenie zestawu słów, które później będą rozpoznawane przez procesor. Co ciekawe wszystko ruszyło niemal natychmiast. Jednak finalną platformą miał być dsPIC30f6014A.

Tu zaczęły się schody, gdyż nie jest on wymieniony jako procesor obsługiwany przez tę bibliotekę. Zdecydowałem się jednak spróbować. Głównym problemem, jak zwykle były inne nazwy rejestrów. Przegrzebując się jednak przez dokumentację znalazłem, że w wersji A nie ma rejestru EC, zamiast tego jest ECIO. Zatem należało zmienić bity konfiguracyjne z:

_FOSC(CSW_FSCM_OFF & EC_PLL8);

na

_FOSC(CSW_FSCM_OFF & ECIO_PLL8);

Następnym problemem był zegar. Przykładowy projekt sugeruje stosowanie 6.144MHz, ja jednak wolałem użyć 7.372 MHz który obsługiwał by także inne zadania.  W miejsce oscylatora podłączyłem generator i stopniowo zacząłem zwiększać częstotliwość. Tak jak się spodziewałem jakość rozpoznawania zaczęła się pogarszać, szczególnie dla dłuższych wyrazów. Jednak podstawowe komendy nadal działały w sposób akceptowalny. Dopiero w okolicach 8MHz praktycznie żadna z komend nie była rozpoznawana.

Tak więc wbrew dokumentacji biblioteki można uruchomić rozpoznawanie mowy na dsPIC30f6014A.

Tags: , , , , , , ,