Projektowanie elektroniki - metody i strategie implementacji nowości technologicznych

| Technika

Współczesny rynek konsumencki wymusza nieustanny postęp, redukcję kosztów oraz przyczynia się do sukcesywnego skracania czasu życia produktów. Z jednej strony jest to zjawisko korzystne, gdyż pozwala konsumentom nabywać coraz nowsze i bardziej funkcjonalne urządzenia, a tym samym zwiększa sprzedaż i dochody firm elektronicznych. Z drugiej strony jednak przyczynia się do zwiększania presji wywieranej na konstruktorów, którzy muszą opracowywać coraz bardziej złożone urządzenia w coraz krótszym czasie. Tym samym dokładne zapoznanie się z dokumentacją podzespołów oraz pisanie oprogramowania jest coraz bardziej utrudnione przez brak czasu.

Projektowanie elektroniki - metody i strategie implementacji nowości technologicznych

Literatura i dane techniczne

Rys. 2. Aplikacja Core Generator umożliwia wygenerowanie najpopularniejszych modułów (bloków funkcyjnych)

Punktem wyjścia do implementacji nowinek technicznych we własnych produktach jest szeroko pojęta literatura. Podstawę stanowią dokumenty producenta dotyczące danego układu (datasheet). Zawierają one najczęściej charakterystykę elementu, którego dotyczą, jego parametry elektryczne oraz czasowe, opis zastosowanych protokołów komunikacyjnych, sposób działania poszczególnych modułów czy przeznaczenie rejestrów.

Szczególną uwagę warto zwrócić na schemat aplikacyjny, który przedstawia sposób połączenia z elementami zewnętrznymi. Postępowanie zgodne z sugestiami producenta i radami, jakie często znajdują się w tego typu dokumentach (w tym zalecanym sposobem projektowania obwodu drukowanego), znacząco zwiększa szansę na sprawne uruchomienie układu. Warto ponadto zwrócić uwagę na noty aplikacyjne poruszające kwestie związane z praktycznym wykorzystaniem wybranego elementu.

W dokumentach tego typu opisuje się najczęściej spotykane problemy i proponowane ich rozwiązania. Przykładowe noty aplikacyjne pochodzące od różnych producentów przedstawiono w tabeli 1. Warte uwagi są pisma branżowe przeznaczone dla konstruktorów sprzętu elektronicznego. Zawarte w nich projekty bazują również na nowych układach, co pozwala zapoznać się z ich typowymi aplikacjami, możliwościami, ograniczeniami i metodami konfiguracji czy programowania.

Stanowi to dobry punkt wyjścia do projektowania własnych rozwiązań. Szeroka znajomość podzespołów i ich typowych aplikacji umożliwia lepsze dobieranie podzespołów na potrzeby własnego projektu. Osobną kwestię stanowią standardy, czyli dokumenty opisujące dane rozwiązanie podające np. parametry elektryczne, prędkości transmisji, metody kodowania sygnałów, wymiary złączy, parametry czasowe, wbudowane rejestry czy stosowane komendy.

Część standardów jest dostępna w Internecie bezpłatnie, ale często trzeba za nie zapłacić. Wygodnym sposobem pozyskiwania standardów jest ich zakup przez Internet, co pozwala skorzystać z niego po uiszczeniu należności bez straty czasu na dostarczenie dokumentu przez pocztę lub kuriera.

Listing 1

int main(void){
RCC_Configuration();
GPIO_Configuration();
USART_InitStructure.USART_BaudRate = 19200;
USART_InitStructure.USART_WordLength = USART_WordLength_8b;
USART_InitStructure.USART_StopBits = USART_StopBits_1;
USART_InitStructure.USART_Parity = USART_Parity_Even;
USART_InitStructure.USART_HardwareFlowControl = USART_
HardwareFlowControl_None;
USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_
Mode_Tx;
USART_Init(USARTy, &USART_InitStructure);
USART_Init(USARTz, &USART_InitStructure);
USART_Cmd(USARTy, ENABLE);
USART_Cmd(USARTz, ENABLE);
while(TxCounter < TxBufferSize){
USART_SendData(USARTy, TxBuffer[TxCounter++]);
while(USART_GetFlagStatus(USARTy, USART_FLAG_TXE) ==
RESET){;}
while(USART_GetFlagStatus(USARTz, USART_FLAG_RXNE) ==
RESET){;}
RxBuffer[RxCounter++] = (USART_ReceiveData(USARTz) &
0x7F);
}
TransferStatus = Buffercmp(TxBuffer, RxBuffer,
TxBufferSize);
while (1){;}
}