CodeConcept
Strona główna | FAQ | wersja mobilnawersja mobilna
English language
 
Język polski

TELEFON

PL +48 32 230 02 90
US +1 703 993 4148

FAKS

PL +48 32 230 02 90
US +1 703 993 4684

E-MAIL

NEWS

Programowanie na zlecenie - Projektowanie hardwaru 15 czerwca 2011: zakończono projekt hardwaru – komponent sprzętowy realizujący drukowanie z aparatów EKG.
czytaj więcej...
W WOLNEJ CHWILI
Szlak Architektury Drewnianej w Małopolsce
Szlak Architektury Drewnianej w Małopolsce to malownicze, strzeliste kościółki, kryte stromymi, często gontowymi dachami, łemkowskie cerkwie z baniastymi hełmami, kameralne, wiejskie dwory i domy szlacheckie.
CodeConcept - Tworzenie oprogramowania

PRZYKŁADOWE PROJEKTY

Pisanie programów - USB Host Driver – komunikacja z urządzeniem klasy CDC.
USB Host Driver: komunikacja z urządzeniem klasy CDC. Projekt został zrealizowany dla następujących platform wbudowanych ASCI wyprodukowanych przez firmę Atmel: AT91 SAM7XC256 (ARM7TDMI) oraz AT91 SAM9260 (ARM9)

Detale: Sterownik USB, OpenHCI zgodny z USB host circuit. Wykorzystano C oraz assembler (część embedded) oraz Visual Studio 2005 C# (strona PC).
CodeConcept - Tworzenie oprogramowania
Wszechstronne umiejętności

Usługi / Firmware i aplikacje mobilne

Firmware i Telefony Ze względu na pełną adaptowalność do specyficznych wymogów użytkownika, wygodę obsługi oraz potencjał optymalizacyjny – realizowany poprzez zmniejszenie rozmiaru oprogramowania, ograniczenie kosztów produkcji, zwiększenie wydajności oraz niezawodności - coraz większą popularność zyskują urządzenia przenośne. Nasza firma może pochwalić się wieloletnim doświadczeniem w projektowaniu i tworzeniu oprogramowania dla urządzeń mobilnych oraz wbudowanych.
 
Systemy wbudowane to platform sprzętowe i programowe dedykowane do wykonywania ściśle określonych zadań (ich przeciwieństwo stanowią komputery ogólnego zastosowania, np. klasy PC). Niektóre z nich muszą dodatkowo spełniać wymogi systemów czasu rzeczywistego (RTOS), inne mogą mieć mniej restrykcyjne wymagania odnośnie wydajności, co ma przełożenie na prostotę konstrukcji i dalej koszt produkcji.

Oprogramowanie (firmware) dla urządzeń wbudowanych stanowi specyficzną gałąź programowania narzucającą restrykcyjne ograniczenia na rozmiar, budowę oraz szybkość działania programu (oprogramowanie czasu rzeczywistego, tworzenie sterowników dla urządzeń oraz systemów operacyjnych dedykowanych dla konkretnych platform sprzętowych, przetwarzanie sygnałów - DSP). Wszystkie te wymogi traktujemy jako dodatkowe wyzwanie, a nie przeszkodę w tworzeniu szybkiego, bezbłędnego, a zarazem w pełni funkcjonalnego oprogramowania.

Przykładowe realizacje

Nasze dotychczasowe projekty sprowadzały się zarówno do projektowania i realizacji kompleksowych rozwiązań, jak i tworzenia pojedynczych elementów rozbudowanych systemów. Tworzyliśmy m.in.:

Firmware dla Urządzeń Medycznych

Firmware dla Urządzeń Medycznych

  • Otoemisja Akustyczna (OAE)
    • Stworzenie oprogramowania (firmware) dla przenośnego (bazującego na procesorach sygnałowych DSP AnalogDevices ADSP-2181/ADSP-2191) systemu do przesiewowego badania słuchu - otoemisja wywołana trzaskiem (TEOAE) oraz produkt zniekształceń nieliniowych (DPOAE).
    • Budowa klinicznego systemu do badania otoemisji akustycznej - generowanie stymulacji i zbieranie/uśrednianie odpowiedzi po stronie platformy DSP, wyświetlanie oraz analiza wyników po stronie PC. Komunikacja DSP/PC przy pomocy RS232 lub USB + drukowanie labelek poprzez IrDA.
  • Potencjały Wywołane Słuchowe (AEP)
    • Stworzenie systemu do przesiewowego badania słuchu - stymulacja oraz zbieranie/uśrednianie sygnałów poprzez platformę DSP AnalogDevices ADSP-2181/ADSP-2191, analiza wyników oraz ocena poziomu słyszenia na komputerze PC.
    • Kliniczny system AEP umożliwiający zarówno ocenę poziomu słyszenia (budowa audiogramów) jak również wykrywanie guzów we włóknach nerwowych słuchowym oraz innych schorzeń związanych z narządem słuchu - AEP, SABR, P300, CHAMP.
  • Elektrokardiografia (ECG)
    • Komunikacja pomiędzy urządzaniem ECG oraz stacją PC zgodna ze standardem EU EN 1064:2005+A1:2007. Zakres zadania obejmował stworzenie sterowników niskiego poziomu dla USB oraz RS232 zarówno po stronie urządzania ECG (Assembler/C) jak również PC (C++), przeprojektowanie firmware'u urządzenia, tak aby był zgodny ze standardem (zakres oraz sposób przesyłania danych do PC), oraz dostosowanie logiki działania aplikacji PC do standardu EN 1064.
    • Dodanie obsługi protokołu POCT do istniejącego urządzenia ECG.


Transport Publiczny

Transport Publiczny

  • Elektroniczne Systemy Biletowe dla Autobusów
    • Elektroniczny system sprzedaży biletów w autobusach. Urządzenie pracuje pod kontrolą systemu WinCE 5.0 i posiada wbudowane następujące komponenty: GPS – automatyczne wykrywanie przystanków i przełączanie taryf, czytnik kart ITSO wraz z wbudowanym wyświetlaczem dla pasażera, wydajna drukarka termiczna, WLAN (802.11 Wi-Fi), GPRS – alternatywa dla WLAN, kolorowy panel dotykowy dla operatora.
    • Przygotowanie BSP (Board Support Platform) dla platformy Windows CE. BSP stanowi zbiór oprogramowania dedykowanego dla konkretnej platformy sprzętowej i implementującego funkcjonalności systemu operacyjnego. Zadanie realizowane przez naszych specjalistów zawierało dostosowanie jądra istniejącego systemu Windows CE do specyficznych wymogów platformy, wykonanie dedykowanych sterowników dla urządzeń peryferyjnych oraz przygotowanie końcowej dystrybucji systemu operacyjnego.
  • Elektroniczne Systemy Biletowe dla Pociągów
    • Oprogramowanie (firmware) dla przenośnego systemu sprzedaży biletów; obsługa kart MIFARE (przygotowanie sterownika czytnika kart), drukowanie biletów papierowych z wykorzystaniem przenośnych drukarek Zebra (implementacja niskopoziomowego protokołu radiowego dla komunikacji urządzenie-drukarka), komunikacja ze stacją PC z wykorzystaniem IrDA.
    • Przygotowanie BSP (Board Support Platform) dla w/w platformy WinCE 5.0.


Systemy Pomiarowe

Systemy Pomiarowe

  • Rejestratory Zakłóceń Elektrycznych
    • Przeniesienie oprogramowania urządzania wbudowanego (firmware) z platformy Siemens SAB80C166M na ARM9 (prace niskopoziomowe z wykorzystaniem języka Assembler).
    • Dodanie do w/w oprogramowania zaawansowanych mechanizmów oceny jakości prądu (cyfrowe przetwarzanie sygnałów w środowisku czasu rzeczywistego).
    • Stworzenie sterownika USB po stronie urządzenia wbudowanego. Rozszerzenie funkcjonalności urządzenia o komunikację USB ze stacją PC (aplikacja zarządzająca urządzeniem).
  • Moduł komunikacji dla systemów pomiarowych
    • Sterownik USB Host – komunikacja z urządzeniem klasy CDC dla ASIC bazującego na następujących procesorach Atmel: AT91SAM7XC256 (ARM7TDMI) oraz AT91SAM9260 (ARM9).
    • Kontroler USB Host zgodny z Open HCI 1.0a.
    • Stos sterowników USB obsługujących podłączanie dowolnych urządzeń USB (ASIC).


Komponenty programowe (firmware) stworzone dla kompleksowych systemów Embedded

Komponenty programowe (firmware) stworzone dla kompleksowych systemów Embedded

  • Systemy czasu rzeczywistego (RTOS)
    • Szyte na miarę, pseudo-systemy operacyjne czasu rzeczywistego dla platform opartych o procesory sygnałowe
    • Pre-loadery
    • Loadery
  • Dostęp do pamięci
    • SRAM
    • FLASH
  • Power Management
    • Managing energy consumption
    • Controlling battery charging process
  • Sterowniki komunikacyjne
    • USB: urządzenia różnych klas (HID, CDC, Mass Storage), kontrolery dedykowane oraz zgodne ze specyfikacją OHCI realizowane w oparciu o różnoraki sprzęt
    • RS232
    • 1-wire
    • I2C
    • SPI
  • GUI/Drukowanie
    • Niskopoziomowe sterowniki wyświetlaczy alfanumerycznych, graficznych, paneli dotykowych
    • Kompleksowe rozwiązania graficznych interfejsów użytkownika (GUI) zbliżonych wyglądem oraz sposobem obsługi do tych znanych z komputerów klasy PC (okna, pola tekstowe, listy wyboru, przyciski, pola zaznaczeń, etc.)
    • Wsparcie dla manipulatorów umiejscowionych na obudowach
    • Sterowniki drukarek: drukarki tekstowe, drukarki graficzne (generowanie obrazu wydruku z użyciem wielu czcionek oraz grafik)
  • A/D i D/A
    • Zarządzanie przetwornikami A/D D/A (zgodnymi z AC97)
    • Sterowanie układami wzmacniaczy analogowych (w tym analogowe filtry dolno i górnoprzepustowe)
    • Budowanie wzorców sygnałów oraz generowanie stymulacji (akustycznej, pneumatycznej, etc...)
    • Kolekcjonowanie sygnałów elektrycznych oraz akustycznych
    • Przetwarzanie zebranych danych (wzmocnienie, filtrowanie, maskowanie, uśrednianie, FFT, analiza EEG/OAE/EKG)


Platformy sprzętowe:

Analog Device DSP (ADSP-2181, ADSP-219x), Blackfin, ARM7, ARM9, xScale, ARM11, Cortex, Texas Instruments OMAP (architektura dwurdzeniowa), AVR, AVR32, V850, SAB-80C

Języki programowania:

Assembler, C, C++, C#, Java
Referencje    |    Galeria przykładowych projektów    |    Artykuły