Moin, bisher habe ich noch keine Lösung für mein Problem gefunden, vielleicht weiß jemand von euch eine Lösung. Ich will ein Redesign/Verkleinerung einer bestehenden Schaltung machen. Die Schaltung kann unter anderem parallel mehrere Ereignisse schnell zählen. Dazu sind dort 5 Zählerbausteine vom Typ 74LV8154 verbaut, so dass 10 Stück 16-Bit Zähler zur Verfügung stehen. Die Überläufe werden separat ausgewertet. Derzeit ist die Schaltung als PC-Einsteckkarte ausgeführt, später soll sie per RS232 oder USB mit dem PC verbunden werden können. Mein Problem ist die Verkleinerung des Teils mit den 10 Zählern. Ich suche entweder einen IC, der mehrere 16-Bit Zähler enthält oder einen Mikrocontroller mit 10 Timern, die als Zähler verwendet werden können. Bislang habe ich beides nicht gefunden. Natürlich könnte man dies in einem CPLD oder FPGA realisieren, aber bisher habe ich weder mit so etwas gearbeitet, noch kann ich VHDL programmieren. Kennt jemand von euch zufällig einen passenden Zählerbaustein / Mikrocontroller?
Viele MSP430 haben 2 Timer mit mehreren Counterregistern. z.B. der 149 hat einen Counter mit 3 counterregister und einen mit 7 Counterregister. Du kannst diese Counterregister unabhängig voneinander verwenden und Konfigurieren mit einer Ausnahme die Grundfrequenz/also der Zähltakt muss bei den Counterregistern eines Counters gleich sein. Wenn dir das reicht hast in diesem MSP430 schon 10 Zähler
ach ja hab noch was vergessen. 16 bit sind diese Counter auch genauso wie der gesamte Chip im Gegensatz zu den Meisten AVRs
> mit einer Ausnahme die Grundfrequenz/also der Zähltakt > muss bei den Counterregistern eines Counters gleich sein. Das würde bei mir wohl leider nicht passen, da ich ja unabhängige ereignisse zählen will.
Geht es um Einzelstücke und wie schnell müssen die Zähler zählen können?
11x 16 bit timer Ist zwar ein µC aber vielleicht hilfreich: http://www.toshiba.com/taec/components2/Datasheet_Sync/134/26203.pdf
oder 16x 16 bit http://www.toshiba.com/taec/components2/Datasheet_Sync/134/26548.pdf 14x 16bit http://www.toshiba.com/taec/components2/Datasheet_Sync/134/27079.pdf
Ist ja der Hammer, viel Spass beim auflöten ... 281 Anschlüsse als FBGA, ohne Fassung bist Du da aber aufgeschmissen :-) TMP19A64F20AXBG -- Description The TMP19A64 is a 32-bit RISC microcontroller based on the TX19A core and containing 2 MB of NANO FLASH™, a large number of external Interrupts and timer/counters. The microcontroller features low-voltage and low-power consumption, making it ideal for battery-powered applications, such as portable information equipment, metering and security systems. Features • CPU: 32-bit MIPS TX19A RISC core,54 MHz – Up to 2 MB Flash/64 KB RAM Flash and Mask Rom available – Two instruction sets: 1. The 16-bit ISA instruction is compatible with MIPS16e- TX for high code efficiency 2. The 32-bit ISA instruction is compatible with the highperformance TX39 3. Single clock cycle execution – Five-stage pipeline – On-chip, high-speed memory – Clock generator and on-chip PLL (x4) – Sub clock (32.768 kHz) • MAC unit for DSP function – 32 x 32 + 64-bit in a single clock • Low-power consumption – Optimized design using a lowpower cell library – Programmable standby modes in which processor clocks are stopped – 8-channel DMA controller – Back-up module: Product Brief 32-bit RISC MCU with 2 MB Flash Memory for Real-Time Control with DSP Functionality 1 • Interrupts: – External: 20, Internal: 50 • Timer – 11 channel x 16-bit timer – 15 channel x 32-bit timer – Real-Time Clock Timer (RTC) –Watchdog Timer (WDT) • Serial Communication – 7 channel x UART/SIO – 1 channel x I2C • 24 channel x 10-bit A/D converter – Conversion time 8.44 msec • I/Os 209 pins • Operating voltage – Core 1.35 V – 1.65 V – I/O and ADC 1.65 V – 3.3 V – ADC 2.7 V – 3.3V • Package – P-FBGA 281 (13 mm x 13 mm, 0.65 mm pitch)
Oder du machst es einfach in Software wenn du nur Ereignisse Zählen willst macht das jede Mikrocontroller mit min 10 Eingängen. Kleiner Tip bei den MSP430 sind die ersten 2* Ports** interruptfähig * die kleinen MSP430 habe weniger Pins als 16 dann sind alle Interruptfähig. ** 1 Port = 8 GPIO 2 x 1Port = 16 GPIO Das sollte reichen. Und wenn du noch mitbekommen möchtest in welchen Zeitrahmen deine Ereignisse auftauchen kannst du immer noch einen Timer mitlaufen lassen der die Sec oder msec zählt
@René F.: Vielen Dank für die Links, der TMP1942 sieht erst mal nicht schlecht aus. Hast du schon mal mit diesem Controller gearbeitet? Von welchen Entwicklungsumgebungen wird dieser Controller unterstützt? @Entwickler: Erst mal geht nur um ein paar Stück, evtl. könnte es aber später auch höhere Stückzahlen (~200 Stück p.a.) werden.
dann passt aber super auf einen USB Stick. :-) Okay für´n Hobbyprojekt vielleicht etwas überdimensioniert aber es ging ja um die Frage ob es sowas gibt. hier ein xmega leider nur 8 x 16bit dafür 100 TQFP. http://www.atmel.com/dyn/resources/prod_documents/doc8067.pdf
>@Entwickler: >Erst mal geht nur um ein paar Stück, evtl. könnte es aber später auch >höhere Stückzahlen (~200 Stück p.a.) werden. Und wie schnell solen sie zählen?
Du brauchst keine Kenntnisse über VHDL zu haben um CPLD's zu designen. Das Designtool ISPLEVER Classic von Lattice (for free) erlaubt mit einem graphischen Frontend eine Schaltplaneingabe von Logikelementen in komfortabler Art. Die TTL Bibliothek ist ziemlich umfangreich so dass Du bestehende Schaltungen mühelos übernehmen kannst. Gruss
Leider keine Erfahrung mit dem µC Toshiba vielleicht gibt es ja Leute hier im Forum die Dir da mehr Infos geben können. Hier nochmal ein Produktkatalog: http://www.toshiba-components.com/microcontroller/brochures/bce0021_catalog.pdf
Typisch das sich wieder alle ins Geschehen werfen und jeder alles besser weis. Eine wichtige Frage wurde noch immer nicht beantwortet: Wie schnell muss gezählt werden ??
>> Natürlich könnte man dies in einem CPLD oder FPGA realisieren, aber >> bisher habe ich weder mit so etwas gearbeitet, noch kann ich VHDL >> programmieren. : > Vielen Dank für die Links, der TMP1942 sieht erst mal nicht schlecht > aus. Da würde ich die Zeit aber eher in das Thema programmierbare Logik stecken, als jetzt noch eine Toolchain und das ganze Drumrum um den Prozessor kapieren zu wollen. Die Aufgabe ist ideal für ein kleines FPGA oder ein großes CPLD. Kostenmäßig bist du da (Lattice MachXO) bei 5$ pro Baustein mit dabei, die Aufgabe ist einfach/überschaubar und der Einstieg in die Thematik lohnt sich langfristig garantiert... http://www.latticesemi.com/products/developmenthardware/developmentkits/xp2breviadevelopmentkit.cfm http://www.latticesemi.com/products/developmenthardware/developmentkits/machxominidevelopmentkit.cfm Oder auch einen kleinen Xilinx Spartan 3AN...
>Als Hausnummer hat man ja die Info : 74LV8154.
Schön. Nicht schneller als 25MHz.
Die obere Grenze kennen wir jetzt.
Und was willst Du DemDaUnten sagen?
Jaja, die liebe Netiquette. Wir wissen nicht was der OP will, lösen aber ganz schnell ALLE Probleme ;-)
Hallo, sorry, die Frage nach der Zählgeschwindigkeit hatte ich übersehen. Nach unten gibt es eigentlich keine Grenze, könnte also auch ein Ereignis pro Tag sein. Nach oben hin liegt die Grenze bei ca. 1*10^6 Ereignissen pro Sekunde. Zählung per Interrupt scheidet eigentlich aus, da auch exakt gleichzeitig an mehreren Eingängen auftretende Ereignisse erkannt werden sollen. Der vorgeschlagenen Mikrocontroller sieht auch deshalb interessant aus, weil ich eh einen für die Kommunikation mit dem PC benötige und bisher mich noch nicht auf einen festgelegt habe.
> Kennt jemand von euch zufällig einen passenden Zählerbaustein / > Mikrocontroller? Ein R32C116 hat elf 16Bit Timer. Der relativ kleine M16C29 hat schon acht 16Bit Timer. Blaetter dich also mal bei Renesas durch die Daten und du wirst schon was passendes finden. Noch eine nette Kleinigkeit. Die Renesascontroller koennen sowohl mit 3.3 wie auch 5V laufen. Das kann beim aufarbeiten alter Designs ganz praktisch sein.... Olaf
Georg2 schrieb: > Nach oben hin liegt die Grenze bei ca. 1*10^6 > Ereignissen pro Sekunde. je Zähler oder über alle Zähler?
>Nach unten gibt es eigentlich keine Grenze, könnte also auch ein >Ereignis pro Tag sein. Deine Anforderungen sind ja 'knallhart' :-) Wenn Du noch völlig offen bist, könnte der R32Cxxx praktisch sein, den Dir Olaf empfohlen hat. Von Renesas gibt es u.a. auch einen H8SX1668R. Dieser hat zwei Timer-Einheiten mit insgesamt 12 x 16Bit Zählern, wobei sich einige zu 32Bit kaskadieren lassen. Es stehen aber nur 8 Zähleingänge zur Verfügung. Aber er hat auch noch 2 x 4 DMA-Kanäle. Diese lassen sich ganz einfach als Zähler verwenden, in dem Quell- und Zieladresse konstant bleiben und der DMA-Kanal nur die Transfers (32Bit) zählt. Klingt kompliziert, sollte aber einfach funktionieren. Ferner gibt es noch einen DTC (Data Transfer Controller), der ebenfalls ähnlich einem DMA-Controller zum zählen mißbraucht werden könnte.... Um das Ganze abzurunden hat der µC noch eine USB-Schnittstelle und läßt sich einfach an einen PC koppeln, wenn die 6 UARTs schon anders belegt sind. Ohne Dein Problem zu kennen, würde ich es so lösen :-)
Ich würde einen PSoC nehmen. Da kannst du etliche unabhängige Zähler rein tun. Ob 10x 16bit rein passen weiss ich jetzt allerdings nicht genau...
Hi, von den Toshiba TX19A würde ich die Finger lassen. Die Toolchain ist sehr speziell und das Gehäuse wird am Ende Dein kleinstes Problem sein. Wenn schon Toshiba, dann M330 aus der Cortex-M3 Familie. Wird auch von Keil & Co unterstützt. Aber Achtung. Bei allen Auflistungen über die Anzahl der Timer wird nicht angegeben wieviele davon einen externen Anschluß für die Zählung haben, also einen "TimerIn". Viele Timer sind nur intern nutzbar bzw werden mit dem internen Takt verbunden. Bleiben wir mal kurz beim M330. Der hat 10x 16Bit Timer. Bingo ! Tools von IAR und Keil. Super ! Aber nur sieben der Timer haben einen externen Eingang. Pech ! Darüber hinaus darf der externe Takt nicht wesentlich schneller als etwa 3MHz sein. Der R32C116 hat eine sehr grosse Anzahl von Eingängen. Auch hier ist zu prüfen ob diese wirklich als Takteingang für den Zähler genutzt werden können oder "nur" Capture Trigger sind. Die maximale Frequenz hab' ich auf die schnelle nicht gefunden. Also nicht einfach nur die Timer zählen, auch die Eingänge sind wichtig.
Georg2 schrieb: > Der vorgeschlagenen Mikrocontroller sieht auch deshalb interessant aus, > weil ich eh einen für die Kommunikation mit dem PC benötige und bisher > mich noch nicht auf einen festgelegt habe. Wenn du nur ein bisschen UART-Gerödel brauchst, bekommst du das in ein FPGA auch noch mit rein. Oder auch einen Controller deiner Wahl. ;-)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.