Home

ddiiigggiiisssooollluuutttiiiooonnnss

image

Contents

1. Scheduling C5 Basic Operation System Motorola DSP 56001 56002 Der Motorola DSP 56001 ist ein inzwischen veralteter klassischer digitaler Signalprozessor mit 24bit Festkomma Arithmetik Er verf gt ber 512W rter Programmspeicher und 2 mal 256W rter Datenspeicher X Y Auch hat er eine 256W rter gro e Sinustabelle mit an Board Jedes Word hat nat rlich 24Bit Externen Speicher oder ROM wurde im C5 nicht angeschlossen Programme und Daten bekommt der DSP ber das Host Interface HI einem parallelem 8bit breiten High Speed Port der mit dem EP200 verbunden ist Der NEC kann den HI ber eine Speichereinblendung erreichen und erh lt zus tzlich noch ein INT Signal vom DSP Seine eigentlichen Daten bekommt der DSP ber seine beiden SPI Schnittstellen an denen je ein Audio PCM Codec angeschlossen ist Die Taktung des SPI Busses und der Codecs bernimmt dabei der EP200 im DSP sind nur die beiden RX Ints zu behandeln Host Interface in Arbeit Weitere Informationen zu diesem Thema findet man im UsersManual der DSP56000 Familie SCI SSI Ports in Arbeit Weitere Informationen zu diesem Thema findet man im UsersManual der DSP56000 Familie A MMNATINT 12 AL a7 Scheduling C5 Basic Operation System Der Codec Signalweg Aufgrund der kombinierten analogen Sprach und digitalen Dateniibertragung ergeben sich Unterschiede zwi schen dem AF Codec Teil an Modulator Empf nger angeschlossen und dem NF Codec Teil
2. habe mit einem Entwickler vom FP100 ASIC EP200 Entwicklungsprojekt 2000 gesprochen In diesem Baustein wird nur die Signalverarbeitung vom C Netz gemacht Als Komprimierung Dekomprimierung ausfil tern der Daten usw aber keine NF Bearbeitung Da von den IC nur 2 Sch sse gemacht wurden ist er Fehlerhaft und st rzt fters ab Diese Probleme wurden Softwarem ig kompensiert Zitat Ende an ANMATINI Ia Alta Scheduling C5 Basic Operation System Clockgenerierung folgt noch EP200 Ports Mapped Adresse Funktion Beschreibung E000h EP200 Port Bit6 BF Bus Bit4 NF Enable Lautsprecher E0O01h Combo Steuerung E002h PC Data s u E003h PC Control s u E004h Steuerung ser Schnittstelle evtl sind hier Steuerbits f r Kartenzugriffe E010h Abtastintervall Combo1 174 0Aeh ergeben die gew nschten 104 us f r 9600Sps E0O11h Steuerung FSR FSK 9 085h schaltet den FSx Takt vom Combol ein welche Bits was machen gt Bit5 schalten C5 jedenfalls ab Fehler E0O1Ah Umschaltung extern Karte mit OCh kann ser Schnittstelle auf Extern geschaltet werden folgt noch bersicht des Speichermapping folgt noch Portfunktionen des NEC und des EP200 folgt noch Serielle Schnittstellen Der NEC Microcontroller verf gt ber 2 unabh ngige fullduplex UARTs die synchron oder asynchron betrieben werden k nnen An dem ersten Port SerO ist im C5 der BF Bus angeschlossen Der zweite Port Ser1 ist dage gen nur m
3. Ger t abschalten steuern 08h 00h Ausschalten erlaubt default v0 14 Olh Ausschalten verboten Taste keine Wirkung Unterbrechung durch BL 09h 00h Unterbrechungen zulassen default v0 14 01h Unterbrechungen verbieten f r kritischen Code Duckl nge der Taste bis zum OAh Val N AL L nge x10ms die der Benutzer die Aus v0 14 Abschalten Taste gedr ckt halten muss Behandlungsroutine entfernen OBh Vec IN AL Vektor der Behandlungsroutine v0 17b Z ndungs Timer einstellen OCh Tmr IN AL Anz Minuten die das CS noch an bleibt v0 30 Warten passives Warten OEh IN CX Wartezeit in CX 10ms Warten aktive Warteschleife OFh IN CX Wartezeit CX 256 30ms Warten v0 14 Die Beenden und Reset Funktionen Das BOS verf gt ber eine Reihe von verschiedenen Reset Funktionen Neben der Beendenfunktion die das C5 abschalten l t gibt es nur noch 2 weitere verschiedenartige Funktionen da 01h 02h und 03h alle einen Soft ware Reset ausl sen Hardware Reset ist beim C5 im Gegensatz zu anderen Telefonen nicht m glich Bis auf Funktion 04h l sen die Funktionen die Aufruf der Abschalt Behandlungsoutine Int 3Bh aus Hier sollte der Programmierer aufr umen und s mtliche eigenen Handler entfernen die Display Symbole l schen und die verwendete Hardware zur cksetzen z B SENDER AUS Interrupts und Handler setzen und wieder entfernen Prinzipbedingt
4. 3 voll Daher bietet das SCSBOS die M glichkeit den Stack in den Ram zu verlagern Funktion 06h Er wird an das obere Ende kopiert und w chst nach unten Eine Umkehrung dieser Funktion ist nicht m glich Entwickelt man ein kleines Programm oder in Assembler so kann der Stack im internen Ram verbleiben Um Problemen mit dem Stack zu vermeiden berpr ft SC5BOS st ndig ob der Stack zu knapp wird und schaltet das Telefon gegebenenfalls aus um Fehlfunktionen zu vermeiden Dieser Test kann nur f r den internen Stack durchgef hrt werden Es wird mit der Funktion 07h ab oder eingeschaltet minimal mehr Performance wenn deaktiviert 1xh BF Bus Zugriff und Abfrage Funktion AH AL Beschreibung I Status 00h BF Bus Behandlung abschalten BF Bussteuerung 10h INT 3Ah wird nicht ausgef hrt v0 14 01h BF Bus Behandlung einschalten _ INT 3Ah ist aktiviert default Sende Paket zum H rer 11h IN Paket in DS SI mit der L nge CL v0 15 QuittungsTon 12h Gibt einen leisen einzelnen Ton aus v0 30 FehlerTon 13h Gibt einen leisen Doppelton aus v0 30 Warte auf H rer Taste 14h OUT AL Tastencode v0 15 Letzte H rertaste abfragen 15h OUT AL Tastencode AH Oh wenn Taste neu vO 15 Setze Wiederholrate 16h Val N AL Tastenwiederholrate in 10ms v0 15 Setze Startverz gerung 17h Val IN AL Verz gerungszeit erste Wiederh 10ms v0 15 Sende Paket an Ger t
5. 04 100 ein weiteres Zeichen wird gesendet 06 110 Das letzte Zeichen wird gesendet Slave best tigt mit ACK gt L oder PC Reset RX 00 000 Ein Zeichen wird empfangen und vom Master best tigt 06 110 Das letzte Zeichen wird vom Master empfangen und NICHT best tigt 12C Timing Die Pulsl nge eines Clock Signals auf der SCL Leitung liegt bei 15 4us High 7 5us Werte gemessen Die Zeit von der ersten steigenden Flanke bis zu letzten entspricht rund 123 2us Eine Ausgabe eines Bytes mit Start und Stop Condition betr gt rund 162 4us Das Timing ist somit f r normale PC IC s v llig unkritisch und liegt bei ca der halben Frequenz die als obere Grenze bei den in C5 eingesetzten IC s spezifiziert ist 12C Bausteine im C5 Im C5 sind 3 Bausteine mit ber den PC Bus an den EP200 angeschlossen e die PLL TBB200 od Zarlink NJ88C33 e der kombinierte AD DA Wandler PCF8591 von Philips e ein E Prom 24C02A mit 256Byte Speicher Mit der PLL und dem AD DA Wandler klappt die Kommunikation hervorragend Mit dem E Prom ist noch nicht so viel anzufangen hier muss noch einmal das s g Acknowledge Polling berpr ft werden erste Test waren lieferten recht merkw rdige Ergebnisse nur 4 statt max 16Byte beim PageWrite geschafft etc PLL Die PLL arbeitet im double Modulus Betrieb mit einem Vorteiler IC mit Frequnez 64 und Frequenz 65 Die Referenzfrequenzquelle liegt im Empf nger des C5 liefert 14 85MHz und ist ber den PCF85
6. Die beiden an sich gleichen MC145480 PCM Codecs werden mit unterschiedlichen Samplingraten betrieben siehe Bild Damit wurde die Sprache einfach durch Pufferung im DSP komprimiert Weiterhin hat der DSP die Sprachver schleierung Invertierung vorgenommen und sicher auch DTMF T ne erzeugt AFC Steuerung ber Adresse 0D000h RO 1 Dg806 D805 Combol Combo2 FSR FST 9 63kHz FSR FST 10 56kHz BCLK 1 48 MHz MCLK 2 MHz DT 13 RO 1 DT 13 TzD 28 D804 DSP MC56001 bzw MC56002 AM ANMATINI Iaa Alta Scheduling C5 Basic Operation System Zeichensatz des Standard H rers Der H rer des C5 verf gt nicht ber einen kompletten ASCII oder erweiterten ASCII Zeichensatz Es k nnen daher nur folgende Zeichen 20h bis 91h dargestellt werden 2xh w fad D A Fa D ul fad tax 6xh SI E a 9xh x0h pa xlh x2h N x3h x4h x5h x5h a Mia In FE x7h x8h oo YIA UA wI N e oO x9h xAh xiii xBh xCh xDh N K X Z SIGA un WhO xEh 00 lt gt a VLT gt Eo m c 0 DIR oZ 8 r x u Hm a A Oal w gt EE S N K X 3 lt c crio HQ t0 o5 3 r Tu PFP Samh aaow VIVII AI xFh In wieweit eigene Zeichendefinitionen in den H rer geladen werden k nnen steht nicht fest Wahrscheinlich geht so e
7. ein Kommunikationsprotokoll implementiert das auf Paket Transfer basiert Das Protokoll stellt 10 Ports eige ne Kan le auf der seriellen Leitung zu Verf gung von denen 2 vom SC5BOS benutzt werden Die Kommuni kation mit SC3BOS erfolgt der Einfachheit halber im PingPong Betrieb 5 Ports sind so genannte well known ports deren Funktion bekannt und hier dokumentiert ist well known ports Port Implementiert in Funktion en Daten O SC5BOS Speicher SRAM auslesen Steuerpakete der Form Cmd Param Speicher beschreiben Datenpakete spez Aufbau Programm starten Master Slave Programm unterbrechen Ger t resetten ausschalten interne Testroutinen starten 1 Debugging Modul Prozessorstatus ausgeben Registerbank Struktur 2 Bootloader Anwen Textmeldungen ausgeben ASCII Zeichenketten ohne Steuerzeichen derprogramm 3 Anwenderprogramm Ger testeuerung Steuerpakete der Form Cmd Param Master Slave 4 Anwenderprogramm Packet Radio 1k2 gekapselte AX25 Pakete 5 _ Anwenderprogramm Packet Radio 9k6 gekapselte AX25 Pakete Bisher nicht realisiert Die Steuerung von SC5BOS ber PortO Auf diesem Port werden Daten als Master Slave Kommunikation ausgetauscht Das Telefon befindet sich in der Rolle eines Slaves Der Master PC sendet dem Slave Telefon die hier definierten Kommandos und erh lt darauf hin eine Antwort Nach dem Absenden eines Requests mu ein TimeOut einge
8. 18h Adr IN AL Ger teadresse DS SI Paket mit L nge v0 32 CL Acknowlegde senden 19h Adr IN AL Ger teadresse v0 32 Die BF Bus Funktionen ersetzten die bei PCs typischen Keyboard und Bildschirmfunktionen Standardm ig behandelt SC5BOS den BF Bus und verarbeitet die Datenpakete vom H rer In Einzelf llen kann es vorteilhaft sein die komplette Steuerung selbst zu programmieren um etwa statt der langsamen 19k2 Verbindung eine eigene schnellere Betriebsart auf der BF Busleitung zu implementieren z B f r grafikf hige Bedienteile Mit der Funktion 10h kann die Behandlung deshalb ab und wieder eingeschaltet werden Mit der Hauptfunktion 11h sendet man ein Datenpaket zum H rer Das Format und der Aufbau der Pakete ist im Kapitel BF Bus beschrieben Neben dieser gibt es noch 2 Funktionen um fter ben tigte akustische Signale auszugeben Mit den Funktionen 18h und 19h kann ein beliebiges Ger t z B die Optionsmodule angesprochen werden Die Funktion 19h ist dabei ein Spezialfall der 18h da ACK fters ben tigt wird A MMATINT 12 AL AT Scheduling C5 Basic Operation System 2xh Serielle O Funktioenen SerO und I2C Bus Funktion AH AL Beschreibung T Status Serial0 Betriebsmodus 20h Auswahl ob Chipkarte oder externe Schnittstelle Serial0 Baudraten SerO 21h Val N AL Aufz hlung Baudrate Serial0 Sende Zeichen 22h Val
9. Basic Operation System Informationen zur C5 Hardware In diesem Abschnitt ist in Stichpunkten zusammengetragen was es so bers C5 als Entwickler wissen sollte Leider lassen sich nicht besonders viele Informationen zur Technik des C Netzes auffinden Hier ist eine kleine aber gute Zusammenfassung http www e online de sites kom 0408091 htm Aufgrund der kombinierten Daten und Sprach bertragung gibt es auch in der C5 Hardware ein paar Besonder heiten n heres siehe Codec Signalweg Speicheraufteilung Der Adressraum des NEC Microcontrollers betr gt 1024kByte Davon wird im C5 nur die unteren 64Kbyte und die obersten 256Kbyte Originalsoftware nach dem Umbau 512Kbyte benutzt Das C5 besitzt 32Kbyte stati schen RAM an der Adresse 0000h bis 3FFFh Hier befinden sich die Interruptvektortabelle des x86 kompatiblen NEC s 1Kbyte sowie beim Betrieb von SC3BOS ein weiteres KByte Daten Die weiteren 30Kbyte sind voll st ndig durch Programme nutzbar wenn der Stack im Internen RAM des NEC belassen wird Ansonsten sollte an der oberen RAM Grenze der Stack Bereich nicht beschrieben werden In dem Bereich von 4000h bis 7FFFh befinden sich verschiedene Speichereinblendungen e CO000h CFFFh Host Interface des DSP Register an C101h C202h usw e DO000h DOO1h Paralleler DAC f r AFC und TXLEV_REF Sendeleistung e E000h EOIFh Speichereinblendung auf Register des EP200 welche genau was bewirken ist noch Forschungsarbeit Der Autor
10. DS das Seg ment und SI den Offset enth lt L ngen sind meistens im CL oder CX untergebracht Zeiger auf zu f llende Datenbl cke werden als ES DI bergeben Die Funktionen des SC5BOS sind in 5 Funktionsgruppen unterteilt Steuerungsfunkionen SC5BOS BF Bus Zugriff und Abfrage Serielle YO Funktioenen SerO PC Bus Informations und Konvertierungsfunktionen DSP Funktionen De Nachfolgend sind die implementierten und zuk nftigen Funktionen tabellarisch aufgef hrt Der I Status Imple mentierungsstatus gibt an ab welcher SC5BOS Version die Funktionen enthalten sind Ist das Feld leer so ist die Funktion nicht implementiert Oxh Steuerungsfunktionen Funktion AH AL Beschreibung I Status 00h Schaltet das C5 aus INT3Bh Aufruf v0 14 Programm beenden oder 01h Hardware Reset des C5 INT3Bh Aufruf v0 14 Ger t abschalten 02h Softwarereset normal v0 14 03h Softwarereset Start des Bootloaders v0 14 04h Startet Bootloader ohne Reset v0 14 Interruptvector Behandlungs 05h Vec IN AL Interruptvektor DS SIJ INT Routine bei v0 15 routine setzen Behandlungsroutine ES benutztes Datensegment A0 17b Stack in den SRAM verlagern 06h Die Funktion kopiert einmalig den Stack an das v0 14 obere SRAM Ende f r Programme die mehr als 64Words Stack ben tigen Stackwarnung Fehler 07h 00h Stackwarnung ausschalten v0 14 01h Stackwarnung einschalten default
11. Device ID v0 15 Interruptvector lesen 36h Nr IN AL Interruptvektor OUT DX AX Adresse v0 15e zum Sichern z B der Interruptbehandlungsfunktion Seg Ofs 39h Val N AL Tahl Umwandlung in 3stellige Dezimal darstellung OUT Ascii ES DI DI unver ndert 3Ah Val IN AL Tahl Umwandlung in 4stellige Dezimal zehnteldarstellung 12 3 Zahl ASCI ES DI OUT Ascii ES DI DI unver ndert v0 9a 3Bh IN DX Tahl Umwandlung in Sstellige Dezimal darstellung OUT Ascii ES DI DI unver ndert 3Ch IN DX Tahl Umwandlung in 6stellige Dezimal hundersteldarstellung 123 45 OUT Ascii ES DI DI unver ndert 3Dh Val N AL Zahl Umwandlung in 2 Hexdarstellung OUT Ascii ES DI DI DI 0 3Eh IN DX Zahl Umwandlung in 4 Hexdarstellung v0 14 OUT Ascii ES DI DI DI 4 3Fh Val N AL Zahl Umwandlung in 8 Bin rdarstellung OUT Ascii ES DI DI DI 8 Verwendung der Informationen ber SC5BOS Die Anwendung sollte in der Startroutine immer die Version von SC5BOS Funktion 30h ermitteln um sicher zugehen das alle API Merkmale vorhanden sind Ist die Version zu niedrig sollte eine Meldung auf den H rer erscheinen und das Programm nach Tastendruck beendet werden Einschaltdauer und Fehlerz hler k nnen f r ein Diagnoseprogramm benutzt werden Z Z werden diese Funktionen in C5 SUP nicht benutzt Der Flashtyp und
12. F2h keine ACK oder NAK Telefon abschalten FEh keine ACK unmittelbar davor oder NAK Soft Reboot FFh keine ACK vor Reboot oder NAK diese Befehle sind erst nach den Wechsel in den Programmiermodus m glich sonst NAK Response 2 antwortet das uC Ger t mit einem ACK so k nnen keine weiteren Befehle mehr behandelt werden bis der Update vollst ndig ist je nach Ger t einige Sekunden Die Kommandos im Einzelnen 00h lese Ger tebezeichnung Das Telefon antwortet auf dieses Kommando mit einer Zeichenkette die eine Bezeichnung im Klartext darstellt Die Zeichenkette enth lt kein L ngen oder Ende Zeichen mehr die L nge wird durch das L ngenbyte des Long Frame festgelegt Dieses Kommando mu jedes Ger t unterst tzen da mit dessen Hilfe die Verbindung initia lisiert wird Test ob ein Ger t antwortet Response Beispiel Siemens C5 with SC5BOS 01h lese Seriennummer Das Telefon antwortet auf dieses Kommando mit einer Zeichenkette die aus 8 Ziffern besteht Response Beispiel 02455199 02h lese Softwareversion Das Telefon antwortet auf dieses Kommando mit einer formatierten Zeichenkette Als Versionskennung wird als erstes Zeichen ein kleines v bertragen danach die erste Versionsziffer Als Trennung folgt anschlie end ein Punkt und 1 Subversionsziffer Das letzte Zeichen ist das Release kleiner Buchstabe von a bis z oder ein Leerzeichen gefolgt von einem
13. IN Zeichen das direkt auf TxDO geschickt wird Serial0 Sende Paket 23h IN DS SI CX Paket analog zu 22h Serial0 Send PCP_Short 24h Port IN AL Port DL Zeichen v0 14 Serial0 Send PCP Long 25h Port IN AL Port DS SI CX Paket v0 15 Serial0 Sende zur Chipkarte 26h IN DS SI CX Paket Serial0 Lese von Chipkarte 27h IN ES DI Buffer CX ReadLength max PC Abbruch ausgeben 28h Char IN AL Zeichen das gesendet wird v0 15c PC Daten ausgeben 29h Adr IN AL PC Ger teadresse DS SI CX Paket v0 15c PC Daten auslesen 2Ah Adr IN AL PC Ger teadresse ES DI RXBuffer v0 15c CX Anzahl auszulesender Bytes PC Kombi Ausgabe Einlesen 2Bh Adr IN AL PC Ger teadresse Schreibadr v0 15c DS SI CL Paket f r Aussendung ES DI RXBuffer CH Anzahl auszulesender Bytes IN DS SI Zeiger auf die Daten CL Anzahl EEProm Daten schreiben 2Ch Adr der Daten AL Word Adresse der ersten Spei v0 30 cherzelle EEProm Daten lesen 2Dh Adr IN ES DI Buffer f r die Daten CL Anzahl AL Word Adresse der ersten Speicherzelle v0 30 Hinweis Die API Funktion PC Acknowledge Polling wurde ersatzlos entfernt da sie nicht ben tigt wird Die PCP Funktionen ber die beiden Funktionen 24h und 25h kann das Anwendungsprogramm Daten an einen angeschlossenen PC senden Die Daten werden vorher mit einer Pr fsumme versehen siehe Kapitel PCP
14. Jetzt dr ckt man vorsichtig senkrecht nach unten und voil das Beinchen ist durchtrennt Wenn man so alle Beinchen abgedr ckt hat f llt nimmt man den IC heraus und l tet mit Entl tlitze die Beinchen ab Bei dieser Methode ist es wichtig das Messer direkt am IC anzusetzen und nur zu dr cken Bewegt man das Messer hin und her ist die Gefahr gegeben darunter liegende Leiterbahnen durchzuritzen Umbau der analogen Hardware Dieser Umbau erfolgt weitestgehend nach DL6INT und ber cksichtig die dort gesammelten Erfahrungen Eine angepa te Version befindet sich auf der Web Seite des Autors http www digisolutions de Hier befinden sich nur Stichpunkte der Vollst ndigkeit halber e Oszillator der PLL verstimmen ca 30MHZ tiefer breitbandiger Austausch der Sendefilter 2 SAW Filter gegen einen oder zwei Helix Filter Austausch von 3 weiteren Kondensatoren Treiber und AUDI Frequenzgang Spannungsteiler f r optionale Versorgungs Spannungsmessung Einbau einer Antennenankopplung z B einfache Diodenumschaltung unter Verwendung des Du plexfilters als Bandpa oder Ersatz des Duplexfilters durch eine Platine z B von DL8SDL e Einbau einer optionalen Platine f r eine Packet Radio Ankopplung Analogschalter n A MMNATINT 12 Alla Scheduling C5 Basic Operation System Konzeptdokumentation SC5BOS Das Grundkonzept der Programmierung des Telefons ist die Unterteilung der Firmware in Betriebssystem und Anwendungsprogramm Nur
15. Operation System Olh Pausenl nge Olh Tonanzahl e 1 Ton ein 2 Single shot 4 8 Portamento 1 h gt gt gt gt Sh Steusrbits 16 Tastenklick 32 leiser Beep 8Bh Pr fsumme Typ 2Eh Tastencode Bsp Beschreibung Details Bits lAh Absender BT 00h Empf nger GG 07h L nge 7 Bytes 2Eh Typ 2Eh Paket Olh 2 30h Tastencode Beim Loslassen einer Taste wird der Tastencode plus 80h gesendet 02h Priifsumme Die Tasten Nachricht muss vom Grundger t mit dem ACK Paket Typ 10h best tigt werden ansonsten wird sie automatisch nach einigen Millisekunden wiederholt Kartenleser Der Kartenleser ist mit CC_Clock und CC_Data an den EP200 angeschlossen Wahrscheinlich erzeugt der EP200 analog zum I2C Bus das Clocksignal automatisch wenn Daten gesendet oder ausgelesen werden Die Kommunikation mit der Karte erfolgt dabei in der Originalsoftware mit 9600baud ber Serl Daher ist auch CC_Data physikalisch mit RXD1 verbunden Weitere Nachforschungen werden sp ter noch vorgenommen Ziel Einfache Benutzung einer Standart Speicherkarte E Prom als transportable und am PC editierbare Frequenzspeicherablage externe Schnittstelle Die externen Leitungen V24 RXD und V24 TXD k nnen durch den EP200 mit Serl verbunden werden Da durch ist es m glich ohne Umbau bei geschlossenem Ger t Daten zu transportieren In der Originalsoftware wurden im Servicebetrieb Meldungen mit 19200baud ausgegeben SCS5BOS nutzt diese Schnittstelle je
16. Rx des SCIBOS v0 1 Protokolles 01h KommunikationsINT Rx des DebuggingModuls 02h Reserviert Textmeldungen v0 11 Empfangshandler bei Nicht PCP v0 9a 39h Ports ger teabh ngiger Kan le 03h C5 Ger testeuerung Fernbedienung SCICOM 04h KommunikationsINT Rx f r 1k2 PR 05h KommunikationsINT Rx f r 9k6 PR 3Ah INT Handler des BF Busses Ein Paket ist auf dem BF Bus empfangen worden gilt nicht f r Tastenbet tigungen am H rer 3Bh Abschalt Handler Das C5 wird abgeschaltet kein Watchdog mehr v0 12b 3Ch Tastenbet tigung am H rer PARAM AL Tastencode AH Bet tigungsz hler vO 12b 3Dh periodischer Handler Timer keine Parameter Aufruf alle 50ms 10Hz v0 17 3Eh DSP Handler Receive Param DX CH 24bit Word vom DSP v0 30 3Fh Alarm Handler Fehler in AL Bits 1 Temp_PA 0 Akku_Low v0 30 40h bis Reserviert siehe Text 4Fh Wenn die Anwendersoftware den INT 3Ah benutzt so ist zu bedenken das Tastenbet tigungen nicht im INT 3Ah abgefangen werden k nnen Daf r muss die Software zus tzlich den INT 3Ch auf eine eigene Be handlungsroutine setzen Bis auf die PCP Handler und dem BF Bus Handler werden die Daten in den Registern direkt bergeben PCP Empfang ber die Ereignisse mit den Nummer 30h bis 39h wird das Programm ber eintreffende Datenpakete vom PC informiert Dabei wird jedoch Port O Int 30h bereits vom SC5BOS verwendet und sollte nicht verwendet wer den Da
17. a ea 21 Abschalt lt kl ndleks uasasn E aa a ai aai 21 Tatenbetatidande issin nia r E llci net 21 TA a AA A A A T a AA 21 DSP Datementgegenda mensa aliado 21 O Handgelenk ae 21 a AMIOAMEINT 12 AL Scheduling C5 Basic Operation System Inhalt Informationen TIA a L A EAEE EA EAEE EIEE EEEE EE EEE En 22 Pe cher lin annii E a A E aE 29 P r EP2OQO a a aa dt arn 22 Cleckgenerierind een tae re 23 20O a a a 23 bersicht desSpeichermappind ai a a a a 23 Portfunktionen des NE und A EP ee Reise 23 Setlellesschnittste len at au an een er ar en ee 23 BE BBSHH a a a a en hr 23 Kartenleser da aa een 25 Externe schnitsstellen ns td id ehe Anreise 25 PC Bus undsSlavesi sn are e a eo ne en er Ban O 25 2ESControlreg ita se iee u Aea e e a dildo diinad e 25 PA en nee Anbei Dein ds 26 E RER RER OO 26 Motorola PS5P56001756002 ze en en ne Dee er se ee ae 27 Hot ta Li e 27 SES Aa a AS N A AS dd 27 Deren Wed ae a Deren 28 Zeichensatz des Standard H rers es 29 Tast at rcode des Standard H rer Anna re 29 DER IE ee Rees 29 DPIEAFGSTEUErUNg a a ER nl ERS 29 Paket Comimanication Protocol ltd AS 31 Arcand Nutzung palta ala nd NA 31 ON 31 O O A 31 E OO 31 ERES e e ti tl y tes oe e lo o a eo o vil ale los e de o cl 32 A NO 32 CREAN a ana nn 32 AS O O 32 Master asliye DEl NA A A 32 A MMNATINT 12 AL gt Scheduling C5 Basic Operation System Terminologie im Dokument e Bootloader Teil des SC5BOS der mit d
18. am Ende der Doku ber den Port der in AL bergeben wird steuert man die Anwendung auf dem PC an dadurch ist ein simultaner Betrieb von z B Telefonprogrammierer MessageViewer und SUP CP m glich Ein Zeichen Nachrichten k n nen einfach mit der Funktion 24h versendet werden Das Zeichen wird in DL bergeben der Zielport in AL Alle anderen Nachrichten werden per Funktion 25h bermittelt Da SC5BOS das Paket von DS SI vor dem Versenden kopiert kann der Inhalt unmittelbar nach Funktionsauf ruf ver ndert werden Die bertragung l uft asynchron im Hintergrund Ist der Sendebuffer voll wird auf das Freiwerden gewartet Aufgrund des knappen Ram des SC3BOS 1Kbyte kann der Sendebuffer nur ein Paket vorhalten Sp tere Versionen von SC5BOS werden jedoch den Platz flexibler nutzen so das mehrere kleine Pakete vorgehalten werden k nnen was z Z noch nicht geschieht Das Empfangen von Paketen kann generell nur durch eine Ereignisroutine 30h 39h erfolgen Ein Pollen auf Pakete wie es oft noch blich ist hat der Autor bewu t nicht vorgesehen Die Rechenleistung des NEC verbietet einen gro z gigen Einsatz von Polling PC Funktionen Die PC Anbindung wurde in den Siemens Telefonen ber einen ASIC IC realisiert Im C5 ist dies der EP200 Neben dem PC hat dieser jedoch noch viele weitere Aufgaben Da die Kommunikation per PC nicht so einfach ist wie mit einem echten PC uC Aus diesem Grunde ist dieser Teil im SC5BOS realisiert Neb
19. bittet Jeden der neue Infos zum EP200 hat ihm Diese mitzuteilen e FEOOh FEFFh Interner RAM des NEC uC der Bereich wird hier sowohl in der Originalsoftware als auch bei SC3BOS eingeblendet ist jedoch in 4K Schritten w hlbar e FFOOh FFFFh Special Function Register des NEC uC Einblendung mit int RAM gekoppelt Danach folgt erst mal eine Weile nix Ab der Adresse 80000h ist dann der Flashrom eingeblendet Gl cklicher weise generiert der EP2000 sowohl CS als auch WE Signale f r den Bereich von 80000h bis BFFFFh Im C5 w re eigentlich keine Veranlassung f r ein solches Verhalten da der EPROM erst ab Adresse C0000h benutzt wird von 80000h bin BFFFFh spiegelt er sich Der EP200 Leider ist der GAL mit der Bezeichnung EP200 immer noch ein gro es R tsel f r sich Er ist geh rt von seiner Funktion weder zur reinen Glue Logic noch zur reinen Signalverarbeitung Dieser Baustein vereinigt ver schiedenste Funktionen in sich Hier eine kurze Aufz hlung e aus Quarzoszillator werden verschiedene Takt und Clocksignale erzeugt uC Combo Clock Signale etc bis auf uC sind alle Signale ein abschaltbar PC realisieren Bereitstellen von zus tzlichen 1 O Ports multiplexen der zweiten seriellen Schnittstelle C Netz Datenpakete zwischen den komprimierten Audiodaten herausfiltern und verarbeiten hier wurde der DMA des NEC benutzt e bestimmt noch mehr Features Laut Aussage eines nicht n her bekannten Insiders
20. diesem Thema siehe Kapitel Host Interface DSP UsersManual und das DSP Program C5Voice auf der Downloadseite zu finden A MMATINT 12 AL an Scheduling C5 Basic Operation System Ereignisse In dem Telefon gibt es eine Reihe von asynchron zum Programmablauf auftretenden Ereignissen Diese k nnen vom Programm auch asynchron behandelt werden Im SC5BOS ist eine umfassende Unterst tzung dieses Kon zeptes realisiert Die Ereignisbehandlungsroutinenen kurz Handler sind normale Prozeduren als FAR compiliert die durch SC5BOS aufgerufen werden vor Version 0 18 waren Handler Routinen als Soft Interrupts implementiert Die Routinen werden analog normalen Interrupt Behandlungsroutinen mit dem set Interruptvector Befehl ge setzt Jedoch muss SC5BOS vor jedem Handler Aufruf wissen welches Datensegment das passende ist Daher wird SC5BOS im ES das Datensegment zus tzlich bergeben Die Datensegmente werden im Anschlu an die Handler Vektoren in die Interruptvektortabelle geschrieben daher k nnen keine Soft Ints 40h 4Fh benutzt wer den Diese Routine mu mit einem retf Befehl abgeschlossen sein unter Hochsprachen erreicht man das mit einer FAR Direktive Es sind folgende Register gesichert e AX BX CX DX SL DI DS ES e Nicht gesichert dagegen SS SP BP bersicht INT Funktion Beschreibung I Status 30h well known Ports des PCP 00h KommunikationsINT
21. k nnen kann ein solch gesch tztes SC5BOS Flash auf fest ins C5 eingel tet werden Da jedoch wichtige Aufgaben wie die komplette serielle Kommunikati on vom SC5 API gekapselt werden m ssen ist jedoch erst einmal ein gesockelter Flash mit ungesch tzten SC5BOS vorzusehen Bei Bedarf kann hier das gesamte Inhalt neugeschrieben werden was jedoch kritische Momente erfordert SC5BOS einen Moment lang nur noch im SRAM Betriebssystemerfordernisse e Einfaches Multitasking ber den Timer2 10ms Systick e Application Interface API ber Softints hnlich dem MSDOS mit Parameter bergabe in den Regi stern e integrierter Bootloader f r wichtige Funktionen Tests Informationsausgabe e Funktionen o Test ob Benutzerprogramm SC5PRG im Flash geladen ist Kopiert bei Bedarf SC5BOS vom Flash ins SRAM und f hrt es von dort aus PCP Update SC5BOS ber externe serielle Schnittstelle PCP Neue Software Update gt Flash paketweise neu beschreiben PCP Programme in SRAM laden und ausf hren o PCP Aktivierung bei laufender Anwendersoftware ber die serielle Schnittstelle m glich e Unterteilung o Bootloader BL als Bestandteil des SCSOS Application Interface API als Bestandteil des SCIBOS Signalisierung ber Soft Interrupts Handler durch das SCSBOS C5 Programm SC5PRG Texte und Funktionen Men Ser IO etc OO 00 0000 Bedienungsanleitung Die Bedienungsanleitung ist nicht mehr Bestandteil dieser Dokumentation und wird
22. kann jedes Programm selbst in die Interrupt Vektortabelle des x86 Prozessors schreiben Da hier jedoch neben normalen Vektoren die Vektoren und Datensegmente der Behandlungsroutinen sowie die vom System benutzten Vektoren geschpeichert sind sollte man die Funktion 05h benutzen Diese Funktion erkennt anhand der in AL bergebenen Vektornummer auch ob es sich um einen Handler handelt und speichert dann das Datensegment des Programmes ES Register in einem reservierten Bereich der Verktortabelle Die Adresse der Routine wird normal ber das DS und SI Register bermittelt DS Code Segment SI Offset der Routine AFLTAMNMATINI 12 Alpa Scheduling C5 Basic Operation System Mit der Funktion OBh wird ein Handler Nummer im AL Register wieder entfernt d h die Adresse wird auf eine leere Dummy Routine innerhalb SC5BOS gesetzt Das Datensegment wird auch auf das von SC5BOS ge ndert Der Stack Der NEC Prozessor besitzt einen kleinen internen RAM der f r verschiedene Zwecke benutzt werden kann Neben weiteren Registerb nken und einem Bereich f r MacroServices bleibt ein Rest von 64 Words die im Telefon f r den Stack verwendet werden Der Vorteil Der Ram kann von Adresse 2048 800h an komplett benutzt werden Werden jedoch umfangreiche Programme in einer Hochsprache entwickelt so reicht dieser Platz nicht Da besonders lokale Variablen auf dem Stack landen w re dieser schon bei einer Verschachtelungstiefe 2
23. lotm c5 html Es entstand eine Zusammenarbeit die auf einen gegenseitigen Informationsaustausch beruhte Basis der Ent wicklung ist brigens die von DB10TM disassemblierte Originalsoftware die einige Fragen beantwortet jedoch 10mal so viele Neue aufwirft Beispiele daf r ist die C Netz Signalisierung Es ist dem Autor noch nicht gelun gen die Funktionsweise des im EP200 integrierten FSK Demodulators und der Art der Modulation DA Wandler oder DSP zu ergr nden Das Ziel des Autors besteht nun darin dieses Betriebssystem und seine Br der weiterzuentwickeln Fehler zu eliminieren und den Funktionsumfang des Applicationinterfaces API zu erweitern Es ist dabei nicht Aufgabe des SCS5BOS telefon oder funkbetriebsspezifische Funktionen bereitzustellen sondern nur die Schnittstelle um einfach mit dem Benutzer des Ger tes zu interagieren Ansteuerung des H rers PC Vernindung Da sich bisher leider niemand nach dem Kenntnisstand des Autors am 1 1 2003 weiter der Programmierung f r dieses Telefon besch ftigt bietet er auch eine einfache Steuerungssoftware C5 SUP Simple User Program an die das Telefon in einen FM Tranceiver verwandelt z A MMNATINT 12 Alla Scheduling C5 Basic Operation System Beschreibung des Projektes SC5BOS Das Projekt SC5BOS besch ftigt sich mit der Softwareentwicklung f r das alte C Netztelefon Siemens C5 Parallel werden SC3BOS SC4BOS und PPSBOS softwarekompatibel mitentwickel
24. per API Funktion Unterbrechung durch BL verhindern abgesichert wurde Generell sollte vorher die Anwendungssoftware beendet werden Komman do Flh 12h schreibe Block in den Speicher Mit diesem Befehl kann der Master einen Block binar er Speicherauszug an eine bestimmt Adresse in Telefon schreiben Damit lassen sich z B Ram basierende Variablen zu einem beliebigen Zeitpunkt ndern Befindet sich SC5BOS im Programmiermodus ist der Ram schreibgesch tzt NAK Daf r kann jetzt der Flash beschrie ben werden wenn der betreffende Bereich leer ist Ist er nicht leer so wird mit einem NAK das Schreiben abge brochen Der Request ist wie folgt aufgebaut 7 Kommandobyte 12h 8 Speichertyp Aufz hlungstyp entspricht lese Speicheraufbau 9 High Byte der 20 Bit Anfangsadresse 10 Mid Byte der 20 Bit Anfangsadresse 11 Low Byte der 20 Bit Anfangsadresse 12 bis letztes Byte Nutzdaten Als Response wird ein ACK oder bei Mi erfolg Flash nicht leer Schreibschutz ein NAK gesendet Bedingt durch die Dauer einer Flash Programmierung ist in diesem Fall nicht die bliche TimeOut Dauer sondern eine berechnete aus normale Timeout Dauer Anzahl Bytes Flash Programmierzyklusdauer abzuwarten 21h Updatesequenz einleiten Wurde SC5BOS erfolgreich im Ram des Telefons gestartet kann es sich selbst in den Flash programmieren Diese Funktion kann mittels Bootloader oder diesem Kommando gestartet werden Antwortet das Te
25. 0 erforderlich Auftrennen der Verbindung von Pinl A18 und Pin32 Vcc Diese be findet sich auf der Oberseite direkt an den PLCC Pads Achtung Pin32 bleibt weiter an Vcc 3 Nur bei 29F040 erforderlich Verbinden des PLCC Pinl mit der A18 des uC Pin8 durch einen F dler 4 Entfernen des Pull Up Widerstands R885 des WE Pin31 Dieser befindet sich auf der Platinenunter seite unter dem PLCC Pads hier nat rlich nicht sichtbar 5 Wenn nicht best ckt Einsatz eines St tz Kondensators C805 ca 100n unterhalb des R885 6 Verbinden des WE Pin31 des PLCC Pads mit dem WE am SRAM Pin27 Diese Verbindung kann elegant auf der Unterseite von den Durchkontaktierungen aus verlegt werden 7 Aufl ten einer PLCC32 Fassung Achtung bei dem F dler am Pinl Tip Durch die Entfernung des Fas sungsbodens k nnen die Pins mit einem blichen Feinl tkolben angel tet werden 8 Fassungsboden wieder hineinlegen fixieren 9 Programmiertes Flash einsetzen Diese Schritte k nnen auch bei Einsatz eines kleineren Flashroms 29F010 29F002 gemacht werden Dann kann sp ter Dieser durch einen 29F040 ersetzt werden Auch wenn ein Original EProm 27C101 eingesetzt werden soll behindert der hier beschriebene Umbau nicht die Funktion Tip Um ein eingel teten ROM sauber zu entfernen kann man auch wie folgt vorgehen Man nehme ein sehr scharfes Messer Teppichcutter z B und setzt dieses an einem Beinchen des IC s direkt am Geh use an
26. 91 justierbar Um ein Raster von 12 5kHz zu bekommen wird der Referenzteiler RCounter auf 1188 gesetzt Der Gesamtteiler des Systems muss jetzt so gesetzt werden das die gew nschte Oszillatorfrequenz Gesamtteiler 12 5KHz er gibt Dieser Teiler Counter muss nun so zerlegt werden das A und N Counter entstehen Es gibt mehrere M glichkeiten daf r die einfachste Der N Counter Counter DIV 64 falls Counter MOD 64 gt 0 sonst N Counter Counter DIV 64 1 Der A Counter Counter MOD 64 falls Counter MOD 64 gt 0 sonst A Counter 64 Nat rlich muss die PLL auch initialisiert werden Status im C5 7Eh Einfach Datenblatt einsehen AD DA Wandler Der Wandler ist weiter nichts Besonderes Ein Lesezugriff bef rdert ein Byte aus dem internen Datenregister des Wandlers nach Drau en Mit Schreibzugriffe k nnen der Wandlungsmodus die Kanalverschaltungen der als n chstes zu wandelnde Kanal oder der Ausgabewert ver ndert werden Einfach Datenblatt einsehen EEProm 24C02A Das EEProm im C5 erh lt eine Sonderbehandlung W hrend die Schreiboperation mit max 2 Bytes wie im Da tenblatt beschrieben arbeitet funktioniert das sequentielle Lesen im C5 offensichtlich nicht Daher wird f r jedes Byte eine Random Read Operation ausgef hrt Dies ist auch der Grund warum extra API Funktionen zum Zu griff bereitstehen Der Programmierer braucht sich keine Gedanken um die 0 g Unzul nglichkeiten zu machen Al ANMATINI Iaa Alta
27. Alle Eintr ge werden ohne Trennzeichen direkt hintereinander bertragen In einem Eintrag sind Typ des Speichers seine Anfangs und seine Endadresse enthalten Da der x186 Controller im Telefon nur einen 20Bit Adressraum hat werden die Obersten 4Bit nicht genutzt Aufbau des Eintrags 1 Speichertyp Aufz hlung 2 Reserviert f r sp tere Verwendung 3 High Byte der 20 Bit Anfangsadresse 4 Mid Byte der 20 Bit Anfangsadresse 5 Low Byte der 20 Bit Anfangsadresse 6 High Byte der 20 Bit Endadresse 7 Mid Byte der 20 Bit Endadresse 8 Low Byte der 20 Bit Endadresse Der Aufz hlungstyp f r den Speicher ist wie folgt definiert Code Bezeichnung Verwendung im Telefon 00h unbekannt keine 01h statisches externes RAM Ram der 32Kbyte gro e SRam Baustein 02h dynamisches externes RAM keine 03h uC internes RAM interner Ram des NEC Prozessors 08h Masken ROM keine 09h Eprom Z Z nicht benutzt OAh E Prom r w keine OBh Flash ROM readonly Z Z nicht benutzt OCh Flash ROM r w der eingesetzte Flashrom z Z fest als 512Kbyte Block 10h Memory Mapped Register interne Funktionsregister des NEC uC 11h Memory Mapped I O die Register der programmierbaren Logik EP200 10h lese Speicherblock aus Mit diesem Befehl kann der PC einen Speicherauszug von einem bestimmten Speicherbereich bekommen Damit lassen sich z B RAM basierte Variablen dessen Speicherplatz bekannt ist
28. Aufruf des Int 22h wird das BX Register in jedem Fall zerst rt und je nach Funktion werden auch andere Register ver ndert Am h ufigsten wird das ES Register von der API benutzt Das DS Register bleibt jedoch immer un angetastet Eine bersicht ber das API folgt im n chsten Kapitel AT AMNMATINI 12 Al Scheduling C5 Basic Operation System Programmieren von Ereignisbehandlungsroutinen Eine Ereignisbehandlungsroutine ist eine einfache Funktion die den Programmablauf an beliebiger Stelle unter brechen kann und mit den evtl bergebenen Daten eine kurze Behandlung durchf hrt Daher werde dies auch kurz Handler genannt Im Telefon stehen 16 verschiedene Quellen f r Handler bereit 10 davon sind f r den Datenempfang ber die serielle Schnittstelle reserviert die Ports siehe PCP Kapitel Ein Handler ist f r den Programmierer erst einmal eine normale Funktion die mit einem Far Return retf endet Bei der Hochsprachenprogrammierung ist darauf zu achten das der Compiler die Funktion nicht weg optimiert z B static verwenden Da das Datensegment initialisiert wurde gibt es im Grund nichts weiter zu beachten Ausnahme Da bei allen PCP Empfangs Handler jedoch DS SI auf den empfangenen Block zeigt und ES auf das eigene Datensegment mu hier der Programmierer aufpassen nicht ins falsche Segment zu schreiben Um einen Handler beim SC5BOS zu registrieren wird einfach die API Funktion setintv
29. Leerzeichen Die Anzahl der Nutzdaten ist somit auf 6 festgelegt Response Beispiel v0 9e MA DNNATINI kan All AA Scheduling C5 Basic Operation System 03h lese Ger testatus Die Response auf dieses Kommando gibt dem Master eine bersicht welche F higkeiten das Telefon besitzt und in welchem Modus sich SC5BOS befindet Die Response enth lt als erstes Byte die CapFlags F higkeiten anzeiger Das 2 Byte ist z Z reserviert Der Aufbau der CapFlags ist unten dargestellt Evtl folgende Bytes sind optional und ger teabh ngig zu interpretieren CapFlags Bit Bezeichnung Beschreibung O Programmiermode vorhanden immer 1 bei SCSBOS 1 Update F higkeit immer 1 bei SC5BOS updatefahig 2 Programmiermodewechsel 1 wenn jetzt ein Moduswechsel gerade m glich ist oder der Program miermode bereits eingeschaltet wurde 3 Updatewechsel 1 wenn der Update jetzt gestartet werden kann 4 Bootloader 1 wenn gerade kein Programm ausgef hrt wird 5 Programm komplett 1 wenn sich im Flash min 1 Programm befindet 6 Programm korrupt zur Zeit immer 0 7 interner Fehler zur Zeit immer 0 04h lese Speicheraufbau Dieses Kommando erwidert das Telefon mit einer intern vorhandenen Tabelle z Z statisch die bis zu 32 Ein tr ge enthalten darf Jeder Eintrag besitzt eine feste L nge von 8 Byte und definiert einen Speicherblock
30. d bei einigen anderen kleinen AVR Projekten Durch diese Mehrfachverwendung kann die PC Software mehrfach verwendet werden Das Protokoll bietet nur bertra gungssicherheit auf Paketebene jedoch keine Fehlerkorrektur wie z B AX25 Das jeweilige Anwendungspro gramm mu daher selbst eine Behandlung f r fehlende fehlerhaft bertragene Pakete implementieren Art und Nutzung Das Packet Communication Protocol im folgenden PCP genannt wurde entwickelt um eine standardisierte Schnittstelle zu einem uContoller basierten Ger t zur Verf gung zu haben und damit die Verwendung von ein heitlichen Hilfs Programmen zu erm glichen Die Hauptaufgaben dieser Programme sind u a Protokollieren Testen und Modifizieren von Speicher Ger tespezifische Programme dagegen meist k nnen parallel benutzt werden und ben tigen keine Protokoll oder Kommunikationsimplementierung mehr Von der Art her ist das PCP nach OSI Schichtenmodell ein Layer2 Protokoll welches einen Paket orientierten Versand und Empfang von Daten erm glicht und mit einer Pr fsumme korrekte Daten gew hrleistet Eine Verbindungs oder Fluss kontrolle ist kein Bestandteil von PCP Fehlerhafte Pakete werden verworfen Rahmenaufbau Das PCP definiert 2 Rahmentypen Es wird zwischen einem Minimal Rahmen Short Frame f r ein einzelnes Daten Byte und einem gro en Long Frame Rahmen f r einen Datenblock unterschieden Die Art des Rahmens wird in den oberen 4 Bits des zuerst gesendeten Ze
31. die DevicelD liefern leider keine g ltigen Werte da die Ausleseroutine leider nicht mehr ins Ram pa t SC5BOS hat f r seine Funktion nur 1Kbyte nach der Interrupttabelle zur Verf gung Konvertierungsfunktionen Die Funktionen 39h bis 3Fh dienen vor allem dem Assembler Programmierer um sich die in Assembler um st ndliche Implementierrung zu ersparen Die Funktionen 39h bis 3Ch sind dabei so neu das sie von C5 SUP noch nicht benutzt werden hier ist der gleiche Quelltext verwendet worden 4xh DSP Funktionen Funktion AH AL Beschreibung I Status Reset DSP 40h F hrt einen Rest per Reset Signal am DSP durch 0 20 bertrage DSP Programm 41h IN DS SI CX Datenblock der das DSP 0 20 Programm enth lt Sende zum DSP 42h IN DX CH 24bit Wort das der DSP erhalten soll 0 20 IN AL Kommando 0 bis 11 welches das DSP DSP Kommando 43h Cmd Programm ausf hren soll DX CH 24bit Wort das 0 20 der DSP vorher erh lt Damit im Siemens Telefon berhaupt ein Ton h rbar wird mu das Audiosignal in beiden Richtungen durch den DSP Nach dem Starten des C5 ist sein Programmspeicher jedoch leer Ein Bootrom im DSP sorgt daf r das man das Programm ber das Host Interface heineinladen kann Dies passiert mittels Funktion 41h Im Betrieb ist es n tig dem DSP Programm Anweisungen und Daten zu bermitteln SC5BOS stellt daf r die Funktionen 42h und 43h bereit F r weitere Information zu
32. die Pakete ber das Registerpaar DS SI bergeben werden mu in der Routine vor dem Zugriff auf Variablen das Datensegment wieder zur ckgesetzt werden Beispiel mov BX DS mov DS ES mov ES bx mov Variable ES SI Zugriff Verwendet man jedoch nur Assembler so gen gt es im Handler die globalen Variablen ber das ES Register anzusprechen mov ES Variable DS SI Die Datenl nge des Paketes wird in CX bergeben Die Pr fsumme sowie die zus tzlichen Bytes des PCP Protokolls werden nicht bergeben AN ANMATINI haa Alta Scheduling C5 Basic Operation System F r die Daten gilt Das bern chste eintreffende PCP Paket berschreibt die Daten Die Behandlungsroutine sollte sich mit der Auswertung nicht zuviel Zeit lassen Nach minimal 6 Bytezeiten 60Bitzeiten bei 57k6 ca 1ms k nnen die Daten bereits ung ltig werden M chte man l nger auf die Daten zugreifen k nnen so sollte man sie zuerst kopieren Zur Steuerung von C5 SUP ist dies noch nicht n tig die Parameter gleich in Register geladen werden BF Bus Handler Im Gegensatz zum PCP Handler ist beim BF Bus Handler das Datensegment DS bereits richtig gesetzt Die eingetroffenen Daten befinden sich hier in ES BX Eine L nge wird nicht bergeben da sie im Paket enthalten ist die Daten enthalten das komplette Paket wie es auf dem Bus gesendet wurde Der Aufbau des Paketes ist im Kapitel BF Bus erl utert Eine Sonderstellung nehmen die H re
33. doch viel intensiver und stellt eine PCP Kommunikation mit bis zu 57600baud bereit Eine h here Standartbaudrate 115k2 ist aufgrund der Taktfrequenz von 4 032MHz des NEC nicht machbar da es daf r keine ganzen Teiler mehr gibt Die V24 Leitungen haben jedoch einen entschiedenen Nachteil Sie f hren nur ein TTL Signal 5V OV Eine PC RS232 Schnittstelle ben tigt jedoch ein Signal mit rund 10V Daher ist ein einfacher Pegel wandler wie z B ein Max232A oder Max202 viele Typen n tig Die Flusskontrollsignale V24 CTS V24 RTS werden nicht benutzt um keine zus tzliche Konkurrenz f r den PC Bus Signale gleich PC Clock und Data darzustellen 12C Bus und Slave 1C s Der PC Bus wird komplett durch den EP200 gesteuert Er stellt 2 byte gro e Register die an den Adressen 0E002h und 0E003h eingeblendet sind MemoryMapped V O An 0E002h werden die Datenbytes des PC Busses geschrieben oder ausgelesen w hrend an 0E003h Control bits die bertragung steuern und einen Status der bertragung beinhalten Die PC Bus Benutzung funktionier jedoch erst nachdem der EP200 initialisiert worden ist Welches Controlbit dabei die Clocksignalgenerierung f r die Ausgabe einschaltet liegt leider noch im Dunkeln SC5BOS initialisiert den EP200 nach dem Reset so wie Originalsoftware so das PC funktioniert Ist PC erst mal aktiv wird mit jedem Schreibzugriff auf das Datenregister das geschriebene Byte 9tes Bit auf den Bus geshiftet Das Ote Byte ste
34. durch diese Zweiteilung ist eine einfache Programmentwicklung f r Dritte denkbar Da die Funktionen im Betriebssystem optimiert in Assembler programmiert sind reichen dem Betriebssystem 16Kbyte Speicherplatz Durch die fast identischen APT s der verschiedenen BOSs sind die Programme zudem einfach portierbar wie der Autor am C5 SUP gt C3 SUP und PP SUP bereits demonstriert hat Da die Pro gramme die Funktionen des BOS nutzen kann ihre Implementierung auch in einer Hochsprache erfolgen ohne das die Ausf hrungsgeschwindigkeit sp rbar abnimmt Auch bleibt die Dateigr e klein und der Quelltext ber sichtlich Man erspart sich teilweise auch das umst ndliche Ansprechen der Hardware welches teilweise nur in Assembler realisierbar ist z B Stackinitialisierung Interruptroutinen etc Auch braucht sich der Programmie rer keine Gedanken mehr um die richtige Segmentierung machen Z Z k nnen Programme als Ein oder Zwei segment Tiny Small erstellt werden Eine direkte Umwandlung von COM oder EXE Formaten ist noch in Vorbereitung so das man z Z die OBJ Datei mit jloc linken mu Das SC5BOS ist in dem Flash in einem kleinen Block am oberen Aderessende untergebracht Die f r den Ein satz im C5 in Frage kommenden Flashtypen z B 29F002TC 29F040 besitzen einen 16Kbyte Sektor 29F002TC oder einen 64Kbyte Sektor 29F040 am oberen Aderessende Da Sektoren in einem externen Pro grammierger t komplett gegen berschreiben gesch tzt werden
35. e die die Kern funktionen f r einen FM Funkbetrieb implementiert C5 Demo ist wie C5 SUP in Assembler geschrieben und wird samt Quelltext f r Entwickler bereitgestellt Einige Features von SC5BOS in Kurzform e sichere Kommunikation mit dem PC ber ein paketorientiertes Protokoll PCP e neue Software wird einfach bei geschlossenem Ger t ins C5 bertragen e Software kann f r Tests im Ram 30Kbyte verf gbar ausgef hrt und f r den regul ren Betrieb in ei nen Sektor des Flashrom geschrieben werden e SC5BOS ist updatef hig neuere Versionen werden ins Ram geladen und schreiben sich ins Flashrom e mehrere Funktionen k nnen durch Ereignisroutinen Handler parallel laufen e Digitale Betriebsarten wie PacketRadio k nnen ohne Modem realisiert werden da der DSP Modulation und Demodulation bernehmen kann im Bereich von 240 3200Hz 1k2 AFSK z B ist daher m glich e Entwickler brauchen sich nur noch um die eigentliche Aufgabe des Programms k mmern den Rest er ledigt dann SC5BOS I O Tastenabfrage etc Unweigerlich entstand auch PC Software Diese unter Delphi5 geschriebenen Tools sind f r die Kommunikation mit dem Telefon oder kompatiblen Ger ten gedacht Kern der Kommunikation ist das bertragungsprotokoll PCP Packet Communication Protocol Es spezifiziert eine auf Paketen aufgebaute serielle Kommunikation zwischen 2 Ger ten hier C5 und PC Die F higkeiten der Windows Software in Kurzform e _OLE Ser
36. ec mit der passenden Funktionsnummer Interruptnummer verwendet SCS5BOS erkennt das es sich um einen Handler handelt und speichert das ES Register zus tzlich in dem Reservierten Bereich ab der auf die Handlervektoren folgt Bei jedem Handler Aufruf stellt SC5SBOS DS anhand dieses Bereiches wieder her Ausnahme bei PCP beachten Diese Funktionalit t hat einen Nachteil Ein von einem anderen Programm belegter Handlervektor kann nicht einfach tempor r berschrieben und wiederhergestellt werden Diese Funktionalit t ist jedoch hoffentlich nicht n tig eine Anwendung im C5 sollte z B immer einen eigenen PCP Port benutzen Auch mehrere um Tastatur eingaben konkurrierende Programme werden hoffentlich nicht die Regel im C5 Ein Handler wird mit der Funktion OBh entferne Handler wieder sauber entfernt incl Datensegment Wert Eine bersicht ber die verf gbaren Ereignisbehandlungsroutinen folgt im bern chsten Kapitel Ereignisse A MMNATINT 12 AL ar Scheduling C5 Basic Operation System Application Interface Das Basis Funktionen werden ber mehrere Software Interrupts aufgerufen Die Parameter bergabe erfolgt ber Register analog DOS Die Nummer der aufzurufenden Funktion wird im AH Register bergeben ein Byte Parameter immer im AL Register Die R ckgabe erfolgt im AX Register Funktions spezifisch Allgemein gilt AX 0 als fehlerfreie Ausf hrung Zeiger auf Daten werden immer als DS SI bergeben wobei
37. echend gesetzt Der Speicherplatz f r nicht initialisierte Daten mu das Programm selbst bestimmen Befindet sich das Programm im Ram so k nnen die Daten im n chsten freien Segment nach dem Code untergebracht werden Beim Start aus dem Flash ist unmittelbar nach dem initia lisierten Bereich Platz In jeden Fall ist ein extra Segmentregister ES n tig Da zur Assemblierungszeit nicht feststeht in welchem Segment das Programm geladen wird kann ja auch in den Flash geschrieben werden sind alle Aufrufe wie mov ax seg Var ung ltig da die Segmentkostanten zur Assemblierungszeit gesetzt werden Beachtet man dies nicht kann das Programm nur noch an eine Adresse in das Flash geschrieben werden Benutzt man einen Hochsprachen Linker und erstellt eine COM oder EXE Datei so kann diese in ein SCSPRG umgewandelt werden Bei EXE Dateien mu man jedoch bei der Konvertie rung ebenfalls schon die richtige Adresse im Flash angeben jedoch hat man dann den Vorteil sehr gro e Pro gramme schreiben zu k nnen gt 30Kbyte gt 64Kbyte Ein Programm SC5 EXE Loader der diese Konvertie rung vornimmt ist geplant Der SC5 EXE Loader existiert noch nicht da bisher kein Bedarf an so gro en Programmen existiert Aufruf von API Funktionen Das Application Interface wird ber den Interruptvektor 22h angesprochen Die Funktionsnummer wird im AH Register bergeben Parameter sind funktionsspezifisch in anderen Registern zu bergeben Durch den
38. elle INIA SC5BOS Scheduling C5 Basic Operating System Version O Je Ein Projekt von DBIOTM Thomas M ller DOTE JN Jan Alte ur fs E Dokumentation f r Prograrnrnlerer Scheduling C5 Basic Operation System Inhalt Terminologie im Doku mente ina 4 E Oia 4 Inhalt dieser Dokumentation es 4 A en ee ee ee 4 Beschreibung des Projektes SCH OS een atadas 5 A esse 6 eN A nee re een 7 Harawaren sr A E A E ie en IE eisen 7 RON 7 Umbauerqianalen Harare ds idad 8 Vinbarderana gana one 8 K n zept dokumentation SC5BO A AEREO 9 A ee ee ee 9 Been una ee 9 technische Beschreibung qes CODO aaa 10 Funktionen und F higkeiten des SC5BOS und des Bootloaders coccion O K mm nikij nsprotoko lin nu 10 well known Dort tasa li tt A an 10 Die Steuerung von SESBOS ber Porto engen la neigen O Eine Vbeisicht der Ko mandara til A Gates 11 Die Kommandos im Einzelnen nennen 11 Porele DO e tdo eto Veda ia 4 Port 2 TER nd exit Anden seat 4 ca AA ir OO OO een 14 Speichermodell 7 Promise 4 Aufruf von AP Funktionen tl IA da haha 4 Programmieren von Ereignisbehanglungsroutinen sessie 15 Applicat Srn Inte ee ee ee 16 OR is Steuer ng OR OE A A A a A a 6 fkha BF Bise Zugriff und Abltade iin ai ke ee 7 2xh Serielle 1 O Funktioenen SerO und PC Bus nennen 8 3xh Informations Konvertierungsfunktionen nie 9 xh DS P Funk ONE e nenne a E 9 A O KERE SRR E Na sad 20 bersicht ad na tdt ann se den rE 20 PER Eee ee Re 20 BE BUS nda an ni
39. em Benutzer interagiert e C5 Bezeichnet das Telefon Siemens C5 auch ABB C45 5 e SC5BOS Sheduling C5 Basic Operation System das Betriebssystem welches hier vorgestellt wird e SC5PRG Sheduling C5 Program ein x86 Program das im einem C5 mit SC5BOS funktioniert Einleitung Inhalt dieser Dokumentation Dies Dokumentation umfa t die technische Beschreibung des Siemens C5 und des Betriebssystems SC5BOS Diese Beschreibung erm glicht einen Einstieg in die Erstellung eigener Programme Ziele Bei diesem Projekt ging es vorrangig darum kosteng nstig und mit minimalem Aufwand das Siemens C5 Tele fon in einen FM Amateurfunktranceiver f r das 70cm Band 430 440 MHz zu verwandeln Begonnen hat alles mit der sehr detaillierten Anleitung von DL6INT Uwe Henning Diese findet man im Internet unter http home t online de home dl6int 1 c5 c5idx htm Leider erforderte der Umbau des C5 nach dieser Anleitung einigen Aufwand in der Realisierung und hat gegen ber dieser Softwaremethode viele Nachteile Da der Autor Informatik studiert hat und sich Hobbym ig mit Amateurfunk besch ftigt kam er auf die Idee ein kleines Betriebssystem f r das C5 zu entwickeln und kostenfrei im Internet bereitzustellen Dieses Vorhaben wurde inspiriert durch die Ver ffentlichung einiger Details des C5 Software Innenlebens durch DBIOTM Thomas M ller Auf seiner Internet Seite findet man die Anf nge der NEC Controller Programmierung http www gsl net db
40. en Ausgabe und Einlesen von Daten der NEC uC ist der einzige Master von PLL und AD Wandler wurden beide Funktionen in der Funktion 2Bh kombiniert Dies ist f r den AD Wandler sehr sinnvoll um gleich den zu Kanal weiter schalten zu k nnen Spezialfall PC EEProm Das serielle I2C Eprom ist auch nicht leicht anzusprechen der Autor verwendet eigene PC Routinen die nur f r den EEProm Zugriff gedacht sind Das Auslesen eines Bytes stellt noch keine gro en Anforderungen und k nnte auch durch die PC Kombi Funktion erfolgen jedoch ist das nicht Datenblatt konform Beim Schreiben mu darauf geachtet werden das immer nur 2Byte am St ck geschrieben werden Solange der EEProm schreibt antwortet er nicht auf PC Kommandos ACK Polling Das komplette Schreibverhalten ist daher in der Funktion 2Ch implementiert Der Programmierer braucht sich darum keine Gedanken mehr zu ma chen AN AMNMATINI 12 Al Scheduling C5 Basic Operation System 3xh Informations Konvertierungsfunktionen Funktion AH AL Beschreibung I Status 30h OUT Version in AX Hi LOW v0 14 Informationen ber SC5BOS 31h OUT Einschaltdauer in AX BH BL H M S v0 14 32h Fehlerz hler des BF Busses Frame Overrun v0 14 AX 33h Fehlerz hler der ext Schnittstelle analog 02h v0 14 Flashgr e bestimmen 34h OUT AX Flashgr e in Kbyte v0 15 Flashhersteller und Device ID 35h OUT AH Hersteller ID AL
41. extra bereitgestellt SC5BOSManualv0 9e pdf A MMATINT 12 AL A Scheduling C5 Basic Operation System technische Beschreibung des SC5BOS Funktionen und F higkeiten des SC5BOS und des Bootloaders Nach dem Dr cken des Einschaltknopfes am C5 springt der Prozessor den Reset Vektor OFFFFOh an An ihm befindet sich ein Sprungbefehl der auf die Reset Routine zeigt In dieser Routine werden alle wichtigen Spei cherbereiche und ben tigte Peripherie initialisiert und eine Startmeldung Licht 3xBeep zum H rer geschickt Danach sucht das Programm an den Segmentanf ngen im eingesetzten Flash oder EProm nach der Kennung SC5PRG Die Flash Gr e wird ber eine Datenspiegelung detektiert Daten spiegeln sich beim 128K und 256K Typ Findet SC5BOS eine Kennung so startet es das Programm das dort abgelegt ist Ansonsten wird der Bootloader gestartet das dem Benutzer ein paar Funktionen anbietet Durch die Initialisierung werden auch Behandlungsroutinen aktiviert die z B den 10Hz Watchdog triggern die Pakete Tastenbet tigungen vom BF Bus und dem H rer entgegennehmen und weiterleiten die On Off Taste berwachen Tastenwiederholungen generieren Pakete auf dem BF Bus und der seriellen Schnittstelle ausgeben PC Anfragen Befehle Port0 beantworten und noch etliche Kleinigkeiten mehr erledigen Kommunikationsprotokoll F r eine geordnete Kommunikation ber die externe serielle Schnittstelle ist das SC5BOS verantwortlich Es ist
42. f r Handmikrofone kleiner Lautsprecher Einbaurahmen f r den KFZ Betrieb Ram Erweiterung maximal 448kByte m glich SmartMediaCard SMC Adapterplatine 3 3V Treiber Kontaktiereinrichtung Benutzung der Office Platine TAE Anschluss f r FAX Senden Empfang Infrarot Fernbedienung Zusatzplatine wie das TAE Modul mit Zusatzcontroller und BF Bus Anschlu z B PIC Modem TNC APRS oder Steuerung Kopplung an ein anderes Funkger tes oder Telefons programmierbarer Umsetzer Cinch Ein und ausg nge zum Durchschleifen von AutoRadio NF o Analoger NF Mischer Software Erzeugen und Verarbeiten von o CTCSS nur per DA Wandler und dem NEC DTMF PacketRadio Modem Funktion f r 1k2 9k6 Handware oder 5 28k C Netz bzw 4k8 Afu SSTV Decodierung Speichern des Bildes in RAM Erweiterung oder einer SMC Benutzung der C Netz Karten Telefonbuch Speicher in Vorbereitung Einsatz von Prozessorkarten Taktfrequenz 4 9152MHz zum Speichern gr erer Datenmengen Ablage von Betriebsparametern auf Chipkarten Benutzung der C Netz Rufnummer da eindeutig f r ein Signalisierungssystem Mischbetrieb von PacketRadio und Sprache Verteilte Signalisierung Nutzung der Zeitkompression und der Daten bertragung in den Zeitschlitzen ca 320bit s Klingelfunktion o ber ein PR Paket UI Frame o Funkruf o ber DTMF Folge Telefonnummer Funkruf Pager Empfangsfunktion Skyper Emulation DSP Sprachverbesserungsf higkeiten o Ra
43. f diesen einfache Timer zur ckgreifen der alle 50ms 10Hz aufgerufen wird Hier k nnen z B die AD Werte ausgelesen werden oder mit einem Vorteiler z B 4 der Displayinhalt erneuert werden DSP Daten entgegenehmen Nicht immer reicht es den DSP Kommandos zu schicken Im Fallbeispiel VOX Steuerung mu auch das DSP Programm f hig sein der Anwendungssoftware Daten zu schicken Da der DSP intern mit 24bit Wortbreite arbeitet wird das empfangene Datum als DX CH High DH Mid DL Low CH der Routine zur Verf gung gestellt Was wie in diesem Wort codiert ist bestimmt das DSP Programm Alarmbehandlung Mit dem Alarm Handler kann das Anwendungsprogramm auf kritische Betriebszust nde reagieren ohne die Eing nge zu pollen Im einfachsten Fall gen gt dem Benutzer eine Warnmeldung zu pr sentieren Solange der Alarmzustand anh lt wird die Routine sek ndlich wiederholt aufgerufen Eine guter Ansatz ist z B bei Akkualarm ein Abschalt Z hler herunter zu z hlen der beim Ausbleiben des Alarms Timer wieder zur ckgesetzt wird Der Fehlergrund ist als Bitmuster in AL codiert Bit0 Akku hat Unterspannung Bitl PA Temperatur zu hoch Fehlanpassung etc Beide Fehler k nnen gleichzeitig auftreten Hinweis Der Akku Alarm erlischt nicht unbedingt gleich nach Anschlu eines Netzteiles wenn der Akku sehr schwach ist der Alarm sollte beim Erkennen eines Netzteiles trotzdem unterdr ckt werden A MMNATINT 12 AL na Scheduling C5
44. gesucht Ohne Programm startet ein Bootloader Es stellt Programmier und Testfunktionen bereit Darunter fallen Ausgabe Version Erstellungsdatum Flashgr e und kennung Programmstart CRC16 des Flashbausteins Flashsektor oder gesamten Flash l schen bis auf SC5SBOS Test der Seriellen Schnittstelle O f r PC Kommunikation wichtig Einstellen der bertragungsparameter Baudrate abweichend vom Standart z B 9600baud Speichertest Der Funktionsumfang des APT s ist einfach zu erweitern SC5BOS kann durch den PC gesteuert werden Laden und Ausf hren eines Programm im Speicher Ram Schreiben von Daten und Programmen in den Flashrom Programmiermodus Abschalten und Neustart des Telefons Auslesen von Ram und Flashrominhalten Abfrage des Betriebzustandes und der Versionsnummer ber ein API werden Basisfunktionen den Anwendungsprogrammen zug nglich gemacht Anwendungsprogramme k nnen Ereignisbehandlungsroutinen Handler installieren die einer Standart FAR Funktion entsprechen Es k nnen 16 verschiedene Handler benutzt werden Die Daten werden in Prozessorregistern bergeben A MMNATINT 12 AL Scheduling C5 Basic Operation System Ideensammlung f r Kreative Hardware Statt H rer Anschlu von Bedienteilen an den BF Bus Display 4x20 Zeichen oder Grafikpanel 320x240 dots Impulsdrehgeber f r Volume Frequenz Umschaltung durch Dr cken Timeout 4 Softkeys am Display Rand Mikrofonanschluss
45. halten werden bevor der Request als Mi erfolg Fehler in der bertragung gewertet wird Ist dem Telefon ein Kommando unbekannt so sendet es ein NAK Paket zum Master AM AMNMATINI dsa Allra Scheduling C5 Basic Operation System Eine bersicht der Kommandos Kommando Code Parameter Response Format Inhalt lese Ger tebezeichnung 00h keine ASCIT String ohne L ngenbyte lese Seriennummer 01h keine 8 stelliger ASCII String nur Ziffern lese Softwareversion 02h keine Format vx xxc 6Stellen lese Ger testatus 03h keine 2 Byte Flags variable Anz Bytes lese Speicheraufbau 04h keine siehe Text lese Speicherblock aus 10h Typ Anfangsadresse Blockgr e Speicherblock nur Bin rdaten gehe in Programmiermodus 11h keine ACK oder NAK schreibe Block in Speicher 12h Typ Anfangsadresse Bin rdaten ACK oder NAK lese Flash Hersteller DeviceID 13h keine Word mit Hersteller und DeviceID lese Flash Programmzyklusdauer 14h keine Byte Dauer in us formatiere Flash 16h keine ACK oder NAK l sche einzelnes Flashseg 17h Segmentnummer Flashherst abh ACK oder NAK l sche Flash komplett 18h keine ACK oder NAK Updatesequenz einleiten 21h keine ACK oder NAK Testsequenz ausf hren 8xh keine im Telefon nicht benutzt Programm ausf hren FOh Einsprungadresse ACK oder NAK Programm stoppen F1h keine ACK oder NAK Programm abbrechen
46. ichens mitgeteilt Enthalten die Bits nur Einsen OFh so handelt es sich um einen Long Frame Ist jedoch nur das unterste Bit 1 01h so handelt es sich um einen Short Frame Alle anderen Bitmuster sind f r die oberen 4Bits des Startzeichens ung ltig Die unteren 4 Bits dieses ersten Zeichens enthalten die Zielportnummer Es sind nur die Portadressen 0 bis 9 zul ssig Die Adressen A bis F sind ung ltig und werden ignoriert Short Frame Nach dem Startzeichen 1xh x steht f r den Port 0 9 folgt genau ein Datenbyte Es werden immer die kom pletten 8bit bertragen Als drittes und letztes Zeichen folgt eine 8bit lange Pr fsumme CRC die nach dem XOR Verfahren aus Startzeichen und Datenbyte berechnet wurde Pakete mit fehlerhafter CRC werden vom Empf nger verworfen Beispiel Start Data CRC 10h 41h 51h Eine bertragung gr erer Daten mit Short Frames ist nicht zu empfehlen da die effektive Bandbreite dabei gedrittelt werden w rde Beispiel Seriell mit 115200baud 11 5Byts s Bei SF 3 8Byte s Nutzdaten Ge dacht ist dieser Rahmentyp f r parameterlose Kommandos und Best tigungen ACK NAK Long Frame Beim Long Frame folgt nach dem Startzeichen OFxh x steht f r den Port 0 9 das L ngenbyte Dieses Byte enth lt die L nge der folgenden Nutzdaten minus eins Da die L nge um eins verringert wurde k nnen volle 256 Byte Nutzdaten bertragen werden L ngenb
47. ird eine Tonsequenz ber den Piepser ausgegeben OFh Version Statusabfrage keine n heren Infos L 10h Best tigung ACK senden keine Parameter Typ 06h Display Symbole Bsp 00h 1Ah Och 06h 00h 01h 00h 20h 01h 00h 00h 30h Beschreibung Absender Empf nger H rer L nge 12 Bytes Typ 6 Paket Display Symbole Display Balken 22 Display Symbole blinkend Display Balken blinkend Pr fsumme Typ 07h Einstellungen Bsp 00h 1Ah 06h 07h 71h 6Ah Beschreibung Absender Empf nger H rer L nge 6 Bytes Typ 7 Paket Einstellungen am H rer Pr fsumme Typ 08h Tonerzeugung Bsp 00h 1Ah OBh 08h Cih 4Fh OFh Beschreibung Absender Empf nger H rer L nge 11 Bytes Typ 8 Paket Tonh he 1 Tonh he 2 Tonl nge Ar ANMATINI isa ALa Details Bits 1 Schl ssel 2 Pfeil heraus 4 Pfeil hinein 8 Lautsprecher 16 H rer 32 Kreis 1 S Rahmen 2 S1 4 S2 8 83 16 S4 32 S5 64 TAE Rahmen 128 TAE Symbol 1 Schl ssel 2 Pfeil heraus 4 Pfeil hinein 8 Lautsprecher 16 H rer 32 Kreis Rest 1 S Rahmen 2 S1 4 S2 8 83 16 S4 32 SJ5 64 TAE Rahmen 128 TAE Symbol 1 komplettes Display blinkt Details Bits 1 Licht ein 2 H rkapsel ein 4 Mikro ein 8 Auswahl Freisprech Mikro 16 32 64 H rerlautst rke 8 Stufen Details Bits Bei Tonh he2 0x4F ist Periodendauer des Tons T 256 Tonh he1 8 138us 227 Scheduling C5 Basic
48. it dem EP200 verbunden Au erdem ist die CCData Leitung des Kartenlesers mit der RXD Leitung verbunden ber Controlregister im EP200 kann die Benutzung von Serl gesteuert werden Dabei kann be stimmt werden ob die Schnittstellen an die V24 RXD TXD Leitungen am SubD Anschlu oder intern am Kar tenleser betrieben werden Ein Loopback durch den EP200 ist m glich wird f r die Kartenkommunikation auch ben tigt und wird zum Test der Schnittstelle verwendet SC5BOS BF Bus Der BF Bus ist ein serieller Eindraht Bus der den Telefonh rer und die Optionsbaugruppen mit dem C5 Grundger t verbindet Die Kommunikation erfolgt dabei paketbasiert halb duplex und bidirectional mit 19200baud 8N2 und TTL Pegel der inaktive Zustand ist High Physikalisch ist der BF Bus fest mit dem Seri ellen Port O des NEC verbunden Zur Kommunikation ben tigt SC5BOS alle SerO Interrupt Vekoren und zu s tzlich den TimerO im SingleShot Mode Die Kollisionsvermeidung da mehrere sendef hige Baugruppen erfolgt durch einen einfachen Signalisierungs mechanismus Die sendewillige Station signalisiert Ihren bevorstehende Bus Benutzung mit dem Umschalten der BF Bus Leitung auf den aktiven Zustand Low f r ca 3 5ms Alle anderen Baugruppen erkennen dies und halten die BF Bus Leitung ebenfalls auf Low Die sendende Baugruppe z B H her kann nach Umschalten auf den inaktiven Zustand erkennen ob die Leitung weiterhin auf Low bleibt Nachdem auch die anderen Baugrup pe
49. lefon mit einem ACK so startet die L sch und Programmierroutine des BOS Nach dem Be enden der Programmierung wird ein weiteres ACK gesendet um das erfolgreiche Ende des Updates zu signali sieren W hrend dieser Zeit d rfen keine Kommandos zum Telefon gesendet werden ca 3 Sekunden Ant wortet das Telefon mit einem NAK so ist der Update Vorgang fehlgeschlagen Dies kann durch nicht richtig eingesetzte Bausteine auftreten Kontaktfehler und ist leider ein recht fataler Fehler Man sollte versuchen den Vorgang zu wiederholen Kommando erneut senden Keinesfalls sollte man das Telefon abschalten da das urspr ngliche System gel scht oder besch digt wurde Hilft die Wiederholung nicht so bleibt nur der Ausbau des Flashroms und seine Programmierung im externen Programmierger t FOh Ausf hren eines Programmes Startet eine Anwendung an fast beliebiger Adresse im Adressraum Man sollte jedoch sicherstellen das die gestartete Anwendung oder Subroutine sich mit einem Far Return retf beendet Als Parameter bekommt das Kommando die Startadresse 20Bit in High Mid Low Order wie Cmd 10h ber mittelt Da der x86 die Adressen segmentiert wird aus dem oberen 2 Byte 12Bit das Segment und aus dem letzten Byte der Offset gebildet Da sich alle NEAR Spr nge in einer Anwendung auf das Segment beziehen ist darauf zu achten das hier das Richtige Segment angegeben wird Auch bedeutet dies das der Offset nur in die ersten 256By
50. llt bei PC bertragungen das ACK Bit dar Weitere Infos zu IC bitte aus Datenbl ttern o heraus nehmen I2C Controlregister Damit eine korrekte bertragung get tigt werden kann muss der EP200 verschiedene Conditions auf dem PC Bus erzeugen k nnen Es handelt sich dabei um die im PC Protokoll spezifizierten Start und Stop Conditions Auch fehlt im Datenregister noch das 9te Bit Acknowledge Daher existieren im Controlregister folgende Bits Bit0 1 erzeuge Start Condition SDA H gt L bei SCL H A MMNATINT 12 AL ar Scheduling C5 Basic Operation System 0 keine Start Condition SDA SCL werden beim Start einen Clock Zyklus auf LOW gesetzt Bitl 1 erzeuge Stop Condition SDA L gt H bei SCL H 0 keine Stop Condition SDA SCL werden nach dem 9ten Bit auf LOW gesetzt Bit2 1 ACK HIGH Nicht best tigen oder Slave best tigt 0 ACK LOW Slave best tigen beim Daten Einlesen Damit die Programmroutine wei wann ein ins Datenregister geschriebenes Byte vollst ndig herausgeschiftet ist existier im Controlregister ein Busy Flag Bit 3 das solange HIGH bleibt wie der EP200 das Datum her ausshiftet Das Bit 2 Acknowledge scheint beim Auslesen den Zustande der Datenleitung SDA zu beinhalten Damit kann detektiert werden ob ein Slave das Datum best tigt hat Folgende Bitkombinationen f r das Controlregister sind blich TX 05 101 Erstes Zeichen an Slave Slave best tigt mit ACK gt L
51. lschraube abgleichbar Neben dieser M glichkeit das ERAAI 12 AL an CICICIUUC AS Schequling C5 Basic Operation System Ger t abzugleichen gibt es noch 2 per Software ver nderliche Gr en als AFC_Ref und AFC bezeichnet Der erste Wert wird ber die PC AD DA Wandler eingestellt und stimmt die Referenzquelle 14 85MHz fein ab Der Regelbereich liegt dabei bei etwa 4 5 kHz der Oszillatorfrequenz Pro Digit wird die Frequenz also um rund 35Hz ver ndert pro 16 Schritte 560Hz AFC Ref delta f kHz 0 16 32 48 64 80 96 11 12 14 16 17 19 20 22 24 25 2 8 4 0 6 2 8 4 0 6 DA Wert 4 AFC Ref Die andere Einstell M glichkeit ist AFC per parallelem DA Wandler D807 AFC gleicht die evtl auftretenden Versatz der Sendefrequenz zur Empfangsfrequenz aus indem dem NF Signal AF_TX ein Gleichspannungs offset berlagert wird Der Einstellbereich entspricht ca 6 6 kHz der Sendefrequenz Pro Digit wird die Sende frequenz um ca 52 Hz verstellt ca 833Hz pro 16Schritten Eine Erh hung des Wertes bewirkt jedoch eine Verringerung der Sendefrequenz AFC TX delta f kHz 0 32 64 96 128 160 192 224 256 DA Wert 4 AFC TX TR ANMTINI laa Alla Scheduling C5 Basic Operation System Paket Communication Protocol Zur Kommunikation mit dem Telefon wird das dafiir entwickelte einfache Protokoll PCP eingesetzt Dieses Protokoll findet Anwendung bei s mtlichen BOSs un
52. n die Leitung wieder inaktiv geschaltet haben beginnt die sendewillige Baugruppe nach ca 3 13ms mit der Aussendung des ersten Paketes Folgen noch weitere Pakete so k nnen diese in einem Zeitfenster auch ohne Bus Request hinterhergesendet werden Nach ca 5ms erfolgt bei Bedarf vom Empf nger ein Antwort ACK Paket Das Zeitfenster f r weitere Pakete betr gt ca 10ms Jedes Paket ist nach folgenden Schema aufgebaut Absenderadresse Empf ngeradresse L nge Paket Nutzdaten L nge 4 Bytes XOR Pr fsumme Folgende Nutzdaten kann der H rer zum Grundger t schicken A MMNATINT 12 AL a7 Scheduling C5 Basic Operation System 2Eh Olh Key Key enth lt den Tastencode beim Loslassen der Taste 80h 2Fh S01 S02 S03 S04 SOx Antwort auf OFh enth lt u a Status den Reed Kontakts Die Nutzdaten die das Grundger t zum H rer schicken kann sind wie folgt aufgebaut Das erste Datenbyte ist ein Kommando Danach folgen mit variabler L nge die Parameter zu einem Kommando Folgende Kommandos werden vom H rer unterst tzt 02h Textausgabe es werden die folgenden 16 ASCII Zeichen im Display dargestellt s Zeichentab 06h Symbolanzeige mit 7 Steuer Bytes werden die Symbole im Display ein aus oder blinkend ge schaltet 07h Einstellung mit einem Steuerbyte werden Licht H rkapsel aus ein Mikrofon Auswahl und die H rerlautst rke gesteuert 08h T ne Klingeln ausgeben durch 6 Bytes w
53. ndet die sich durch folgende Gleichung dar stellt CRC Start XOR Data CRC nach CCITT Der Bildungsalgorithmus dieser genormten CRC Funktion ist recht kompliziert jedoch sehr sicher Er ist in entsprechender Fachliteratur zu finden Im PCP Server und dem SC5BOS wird der Schnelligkeit wegen eine vorgerechnete Tabelle 256 Words verwendet In den AVR Projekten wird der Algorithmus komplett berechnet Assembler da hier der RISC Prozessor schnell genug jedoch Speicherplatz f r die Tabelle kaum vorhanden ist Ports Kan le PCP unterscheidet bei der Kommunikation 10 unterschiedliche Ziel Ports virtuelle Kan le Eine Anwendung sollte immer nur einen Kanal sowohl f rs Senden wie zum Empfangen benutzen Die ersten 3 Ports sind in Ihrer Bedeutung und in der Kommunikationsart jedoch festgelegt und bilden einen Standart der allgemeine Funktio nalit ten ger teunabh ngig definiert Master Slave Beziehungen Die Kommunikation mit einem uController basierten Ger t erfolgt meist in einer Master Slave Beziehung der folgenden Art Der Master PC sendet ein Kommando Request und erwartet eine Antwort Response vom Ger t deren Nutzdaten abh ngig vom Request interpretiert werden Dieses Verhalten ist jedoch nicht Bestandteil vom PCP sondern wird von der Applikation die PCP benutzt aufgesetzt Jedes Request m s mit einer Response best tigt werden Eine Response jedoch bedarf keiner Best tigung Ent h lt eine Response keine spezifi
54. rtasten ein SC5BOS filtert diese Pakete heraus und sendet auch das ACK zum H rer Die Tastenbet tigungen k nnen ber den Handler 3Ch behandelt werden oder ber die API Funktionen 15h und 16h abgefragt werden Diese entspre chen dem getkey und readkey Funktionen eines PC Programmes Auch f r den BF Bus Handler gilt Die Daten werden nach 3 weiteren empfangenen Paketen berschrieben Es ist jedoch lange nicht so kritisch wie beim PCP Empfang Abschalt Handler Aus Sicherheitsgr nden berwacht das Betriebssystem den Abschaltvorgang Ein Unterdr cken dieser Funktion sollte auch nur mit gro er Vorsicht verwendet werden d h nicht w hrend der Entwicklung Damit die Anwen dung eine Chance bekommt wichtige Daten in das EEProm zu sichern und aufzur umen wird sie ber diesen Weg ber das nahende Ende informiert Ab diesem Zeitpunkt sind noch ca 0 8s Zeit f r wichtige Funktionen Die Abschaltmeldung wird vom SC5BOS nach Beenden dieser Funktion dargestellt Tatenbet tigungen F r jeden Tastendruck generiert SC5BOS einen Tastencode im AL Register Wird die Taste niedergehalten so generiert SC5BOS nach einer Verz gerung weitere Bet tigungen automatisch Intervall einstellbar Die Tasten codes sind im Kapitel Tastaturcode des Standard H rers aufgelistet Der Tastenz hler AH Register z hlt einfach die Bet tigungen mit Timer F r alle periodisch auftretende Funktionen kann der Programmierer au
55. s im Speicher nur 30Kbyte und im Flash je nach Typ bis zu 448K Byte Platz zur Verf gung ste hen Bei der Programmierung in einer Hochsprache ist dieser Platz sicher recht knapp Speichermodell Programmaufbau Als Speichermodell sollte Tiny oder das kleinst m gliche gew hlt Das Programm ben tigt am Beginn einen 16Byte langen Header der als erste 6 Zeichen SC5PRG enth lt Danach folgt ein Word das die Speicher gr e des Datensegmentes aufnimmt Dieses Segment befindet sich am Anfang des Programms und wird im vor dem Start in den Speicher kopiert falls das Programm sich im Flash befindet Die anderen 8 Zeichen sind beliebig und k nnen f r Namen Versions oder anderen Text verwendet werden Ab dem Offset 10h beginnt das SC5PRG Das Programm wird immer so vom SC5BOS gestartet das der Offset im Null beginnt CS 0 zeigt auf das S von SCS5PRG Die Segmentregister CS und DS zeigen beim Start auf das gleiche Programmseg ment wenn das Programm sich im Ram befindet ansonsten Zeigt DS auf das Ram typ 80h und CS auf das Flash z B 8000h Beispiel 6 Byte SC5SPRG Programmkennung 2 Byte 42h 03h L nge der initialisierten Daten 0342h Bytes ab 0 8 Byte SUP v2 2g Programmname ASCH Zeichen 2 Byte E9h 85h Sprungbefehl jmp main Durch die Kopierfunktion sind alle Variablen die sich am Anfang innerhalb der initialisierten Daten befinden gleich verf gbar Das Datensegment ist entspr
56. schen Daten so wird ein ACK Zeichen f r erfolgreich oder ein NAK Zeichen f r nicht m glich zur ckgesendet Die Zeichen sind ASCH Tabellenkonform ACK 06h NAK 15h Re quests d rfen als erstes Zeichen kein ACK oder NAK enthalten ACK oder NAK ist jedoch nur eine M glichkeit eine Response zu generieren Es k nnen beliebe antworten geschickt werden N ANMATINI Ia Alta
57. t f r die Telefone Sie mens C3 C4 und Philips Porty FG51 bis FG53 Alle Telefone verf gen ber einen NEC V25 oder V40 Micro controller uC Der NEC V25 V40 ist softwarekompatibel zu einem 180186 und besitzt zus tzlich noch erwei terte Befehle Er ist ansonsten ein klassischer Controller keine CPU mit UART Ports DMA etc Software kann deshalb mit alten PC Assemblern und Compilern erstellt werden Das C3 und das C5 haben neben dem uC noch einen DSP 56001 von Motorola onboard Dieser ist ber das Host Interface und der glue logic EP200 im C5 mit dem uC verbunden Der Autor hat die hier vorgestellte Software mit dem A86 Assembler und dem jloc Linker erstellt Der A86 Assembler kennt ein paar der zus tzlichen NEC Befehle leider nicht alle und verf gt ber eine einfaches Seg mentierungs System Der jloc Linker wertet die von A86 erstellte OBJ Datei aus und erzeugt mit Hilfe einer Kontrolldatei ein bin res Image des Programmes Als Entwicklungsumgebung diente der Ultraedit http www ultraedit com der Syntaxhighlighting und das Einbinden von Programmen hier z B make be herrscht Leider ist dieses Programm Shareware dessen Registrierung mit 35 noch human ausf llt Neben der Softwareentwicklung konnte sich der Autor auch nicht um Hardwareentwicklung dr cken Um das C5 mit dem PC zu Verbinden wurde ein serieller Pegelwandler TTLfl RS232 ben tigt Als einfache L sung wurde ein Max202 und ein kleiner 5V S
58. tabi auf einer Lochrasterplatine zusammen mit 2 Pfostensteckern gel tet Mittlerweile existiert eine winzige Platine die mit in ein Sub D9 Geh use gesetzt wird Die Beschaltung ent spricht der im Max202 Datenblatt Angeschlossen wird diese Baugruppe an die 26pol Buchse des C5 HDB26 ben tigt ber diese Buchse erfolgt auch gleich die externe Stromversorgung Folgende Pins m ssen mit dem Max202 verbunden werden V24 TXD Pin13 und V24 RXD Pin20 Neben dem Seriellen Anschluss ist leider auch ein Programmierger t erforderlich gewesen um einen leeren Flash Baustein mit der Software zu beschreiben Erst mit dem programmierten Flash konnte erstmalig eigene Software ins C5 gelangen Als Flash verwendet der Autor den PLCC32 Typ 29F040 der Firmen AMD ST TI und Hyundai Alternativ einsetzbar sind auch die Typen 29F002TC BC In jedem Fall muss das Original ROM aus dem C5 entfernt und eine PLCC32 Fassung eingel tet werden wenn nicht schon vorhanden Die Software SC5BOS und C5 SUP sind nicht das einige was im Laufe der Entwicklungsarbeit entstand Es entstand eine ganze Reihe von Testprogrammen die im C5 ausf hrbar sind Dazu z hlen u a FlashWRT DSPTest C5Demo I2Ctest und C5Test Da die Programme ihre Test Aufgabe erf llt haben werden sie nicht mehr weiterentwickelt Viele Routinen f r SC5BOS entstanden durch diese Programme Eine Sonderstellung nimmt dabei C5 Demo ein Wie am Name erkennbar ist es eine einfache Demonstrationssoftwar
59. te der Anwendung Subroutine liegen kann F1h Stoppen eines laufenden Programmes Dem Anwendungsprogramm wird der Druck auf die ESC Taste 8 Taste vorgegaukelt Da sich je nach Pro grammlogik das Programm damit noch nicht beendet Unterfunktionen z B ist diese gegebenenfalls mehrmals zu wiederholen und mit dem Status Kommando 03h Bit4 auf 1 testen zu berpr fen ob der Bootloader aktiviert wurde F2h Programmabbruch Reagiert ein Programm nicht auf die 8 Taste bzw obigen Befehl so kann das Programm mit F2h abgeschos sen werden Die Eintr ge der Ereignissroutinen werden sowie der Stack wird zur ckgesetzt und er Bootloader wird gestartet ERCA 12 AL 17 Scheduling C5 Basic Operation System Port 1 Debugging Leider ist der Autor noch nicht dazu gekommen eine Debug Anwendung zu entwickeln Auf der Telefonseite ist der Aufwand sehr berschaubar jedoch ist das PC Programm sehr umfangreich und erfordert einiges Wissen z B ber das Objekt Format Port 2 Text und Textstatusmeldungen Das Telefon sendet auf diesem Port Textmeldungen ohne selbst auf Pakete f r diesen Port zu reagieren Als Textmeldungen sendet der Bootloader z B eine Startmeldung Auch C5 SUP macht davon Gebrauch Als Ent wickler sollte man zu Debugzwecken hiervon Gebrauch machen Programmieranleitung Eine Programmerstellung mit Hilfe der API Funktionen ist ganz einfach Zun chst mu man sich dr ber im klaren ein da
60. twas nicht Zeichen mit Nummern unter 20h 0 bis 31 werden vom H rer ignoriert der Rest des Textes r ckt einfach nach Alle Zeichen mit Nummer gr er 91h sind ebenfalls horizontaler Doppelpunkt Das Zeichen 8Bh stellt das Netzstecker Symbol dar das Zeichen 90h ist ein solcher Return der Pfeil beginnt jedoch von unten an x Achse gespiegelt Tastaturcode des Standard H rers Taste Code ASCII Taste Code ASCII 0 30h 0 2Ah ck 1 31h 7 23h 2 32h 522 C 3Ah 2 3 33h 3 3Bh e 4 34h 4 Bee 3Ch lt 5 35h eS lt 4Bh K 6 36h 6 gt 21h q 7 37h T A 3Fh 2 8 38h g v 3Dh 9 39h 9 t 3Eh gt Kontakt 48h H SC5BOS erzeugt f r die Taste On Off zus tzlich noch den Tastencode 27h beim Loslassen dieser Taste nat rlich nur wenn sie nicht zu lange gedr ckt wurde und das Telefon abschaltet Jedoch gibt es kein BF Bus Paket daf r der Tastencode wird nur dem Tastaturhandler bergeben Der Empf nger Der Empf nger besitzt leider keine so ausgezeichnete Empfindlichkeit wie moderne 70cm Ger te Direkt am Eingang ohne Duplexer oder Koppelschaltung gemessen liegt sie bei 114 5dbm 20db SINAD Die Werksan gabe von Siemens ABB gibt 113dbm an Die AFC Steuerung Die PLL bekommt ihre Referenzfrequenz aus dem Empf nger Hier sitzt ein silberner Block der eine Frequenz von 14 85 MHz produziert Dieser ist ber eine Verstel
61. uschunterdriickung Sperre la FM Select o Bandpassfilter Notchfilter Aushandeln von Sendeleistungen mit Simplexbetrieb per verteilter Signalisierung Aussenden von APRS Serieller Eingang f r GPS Maus HDS HamDataSystem wie RDS ber die verteilte Signalisierung Aussenden von Rufzeichen Lo cator Infotext etc Einbau eines 2m MiniEmpf nger aus Funkamateur 9 01 S 999 o ohne ATMEL und NF PA daf r digitales Poti am AF Codec DTMF Gesteuerter Anrufbeantworter gt ber ext Speichermedium SMC Chipkarte extra Ram Fernabfrage Anrufbeantworter ber anderes Funkger t Bei Funkger tekopplung als Relais konfigurierbar Fernbedienung ber DTMF Ausgabe QSY CW Dekodierung und Darstellung im Display Kennungen von Relais ber Ser Schnittstelle Nordlinks TF Emulation mit erweitertem Spezialbefehlssatz O CS als Stan dard 6Pack w hlbar Relais und DigipeaterListe Updatebar von EU DL durch Eingabe das Locators sind 70cm Relais ausw hlbar im Umkreis erreichbare A MMNATINT 12 AL Scheduling C5 Basic Operation System Umbau der digitalen Hardware Leider kommt man beim Einsatz eines Flash Bausteins nicht um das Strippenziehen und Patchen herum Nach folgend befindet sich eine kleine Einbauanleitung f r ein 29F010 29F002 oder 29F040 Flash 1 Vorsichtiges Ausl ten des D810 ROM wenn dieser best ckt war Achtung bitte keine Pats abreisen oder Leiterbahnen durchtrennen siehe Tip 2 Nur bei 29F04
62. ver f r die Kommunikation PCP ber eine serielle Standart Schnittstelle Einsehen vom Ram und Rominhalten per PCPMemoryViewer Ausgabe von Textmeldungen des Telefons per PCPMessageViewer bertragen Ausf hren und flashen von Programmen durch den Telefonprogrammierer Steuern von C5 SUP durch das SUP Control Program noch in Entwicklung Diese Software wird in einem extra Dokument behandelt A MMATINT 12 AL m Scheduling C5 Basic Operation System Lastenheft SC5BOS Im Lastenheft sind die implementierten Features von SC5BOS zusammengefasst Es diente bei der Entwicklung als Checklist welche F higkeiten noch nicht realisiert sind Mittlerweile ist das Lastenheft komplett erf llt die Entwicklung findet jetzt als Erweiterung und Verbesserung dieser Punkte statt SC3BOS soll in einem 16Kbyte gro en gesch tzten Sektor des Flashroms Platz finden Initialisierung der Telefon Hardware definierter Betriebszustand Prozessorregister Interrupt Vektortabelle weitere programmierbare Bausteine EP200 DSP Telefonh rer externe serielle Schnittstelle 57600baud 8N1 Implementierung eines einfachen Kommunikationsprotokolls das eine sichere Daten bertragung gew hrlei stet Daher ist eine Pr fsumme CRC 8bit oder CRC 16bit nach CCITT Bestandteil jedes Paketes Der Telefonh rer soll bereits Meldungen ausgeben k nnen Im Flash wird nach dem Start das j ngste Programm h chste Sektornummer
63. yte enth lt 255 Jedoch ist das Versenden eines leeren Paketes so nicht mehr m glich und auch nicht erw nscht Die minimale Anzahl der Datenbytes betr gt Eins L ngen byte enth lt 0 Dies ist ein Pluspunkt des PCPs das so auch andere einfache Protokolle direkt kapseln kann deren L ngenangabe sich auf die komplette Paketl nge bezieht Nach dem L ngenbyte folgen nun genau L n genbyte 1 Bytes Nutzdaten die wie beim Short Frame beliebig sein k nnen Im Gegensatz zum Short Frame wird der Long Frame mit einer 16bit Pr fsumme CRC nach CCITT gesichert Sie folgt direkt nach den Nutzdaten wobei das h herwertige Byte der CRC zuerst bertragen wird Beispiel Start L nge DataO Datal Data2 CRCh CRCI FOh 02h 41 61h 62h xxh xxh Bei voller Ausnutzung des Long Frame werden mit 4 Rahmen Bytes 256 Nutzbytes bertragen was rund 98 der Bandbreite entspricht A MMNATINT 12 AL 4 Scheduling C5 Basic Operation System CRC s Die Pr fsummen dienen der bertragungssicherheit und werden durch die PCP Implementierung erzeugt Beim Empfang wird die generierte Pr fsumme des Datenteils komplettes restliches Paket mit der empfangenen Pr f summe verglichen stimmen diese nicht berein so wird das Paket verworfen fehlerhaft Die Applikation mu in diesem Fall selbst f r eine erneute bertragung sorgen XOR CRC F r die Short Frame Pakete wird nur eine 8bit Priifsumme verwe
64. zu einem beliebigen Zeitpunkt kon trollieren Der Request wird wie folgt aufgebaut Bytes 1 Kommandobyte 10h 2 Speichertyp Typ des Zielspeichers entspricht lese Speicheraufbau beim Telefon nur f r Test bei Harvard Architekturen jedoch sehr wichtig High Byte der 20 Bit Anfangsadresse Mid Byte der 20 Bit Anfangsadresse Low Byte der 20 Bit Anfangsadresse entspricht dem x86 Adressraum L nge des Speicherblockes minus Eins NAD AN AMNMATINI dasa Al Scheduling C5 Basic Operation System Die Response besteht ausschlie lich aus den Bin rzeichen des adressierten Speicherblockes Die Paketl nge ist gleich der L nge der in der Request Nachricht enthaltenen Achtung Ein Auslesen eines einzelnen Zeichens welches zuf llig 06h oder 15h ACK NAK bedeuten k nnte wird nicht abgefangen der Master sollte daher m glichst 2 oder mehr Zeichen anfordern um mi verst ndliche Nachrichten nicht zu provozieren 11h gehe in den Programmiermodus Durch diesen parameterlosen Befehl wird ein gerade laufendes Programm z B C5 SUP beendet und SC5BOS in den Ram kopiert SCSBOS wird dann im Ram gestartet und der Bootloader wird ausgef hrt Dadurch sind bestimmte Kommandos nicht mehr ausf hrbar und der Ram wird schreibgesch tzt Unter Umst nden kann das Telefon einen Wechsel in diesen Modus verwehren NAK Antwort Das passiert immer dann wenn die An wendungssoftware sich in einem kritischen Programmteil befindet und

Download Pdf Manuals

image

Related Search

ddiiigggiiisssooollluuutttiiiooonnnss

Related Contents

Patton BODi rS User Manual  Le contrat d`engagement éducatif - mars 2007 (actualisée    Inhaltsverzeichnis  Electrolux EC 1109N User's Manual  Grove - Sound Sensor User Manual  Boomerang Sport Owners Manual  『CoolHotBox20』の取扱説明書  製品カタログPDF - OralStudio  公 告 - 防衛省  

Copyright © All rights reserved.
Failed to retrieve file