سلام به دوستان و مهندسان عزیز یک مشکل برای من پیش اومده اونم اینه که وقتی سرعت کریستالم رو از 11 مگاهرتز به 20 مگاهرتز می برم همه چیزم به هم می ریزه مثل adc و شمارنده و delay و ... می خواستم بدونم مشکل از چیه ، برنامه ام رو با ccs می نویسم مدل میکرومم pic18f4620
اطلاعیه
Collapse
No announcement yet.
مشکل وقتی کریستال رو می برم بالا همه چیزم به هم می ریزه ؟؟؟؟؟
Collapse
X
-
پاسخ : مشکل وقتی کریستال رو می برم بالا همه چیزم به هم می ریزه ؟؟؟؟؟
سلام
من avr کار هستم وبه تازه گی داره رو pic هم کار میکنم
ببینید من تو avr مثلا میومدم یه تاخیر یا پالسی تولید میکردم مثلا با سرعت 8مگاهرتز دامنه پالس میشد 102 میکرو ثانیه با 27 بار چرخش داخل حلقه
خوب در این حالت شما میبینید که 102 میکرو تقسیم بر 27 میشه یه چیزی حدوده 3.7333 میکرو ثانیه یعنی هر step زمانی در حدود 3.73 میکرو ثانیه زمان میبره
حالا اگه کریستال روی 16 مگاهرتز بذاریم همه چی نسبت به تنظیماتمون بهم میخوره چون هر چرخش در حلقه یا step میشه 1.89 میکرو ثانیه پس با این حساب پالس 102 میکرو ثانیه تغییر میکنه به 27 تا 1.98 میکرو ثانیه که میشه دامنه پالس 51 میکرو ثانیه همینطور تو پزیود پالس و فرکانس و سرعت adc نیز نسبت به تنظیمات قبلیت بهم
میخوره و شما باید تنظیمات زمان بندیت رو نسبت به سرعت 16 مگا تنظیم کنی مثلا عدد 27 در 8 مگاهرتز باید تغییر کنه به 54 تا دامنه پالس بشه همون 102 میکرو ثانیه
البته این عدد ها که گفتم بر فرض مثال بود نه واقعی :biggrin:امام مهدی(عج): اگر شیعیان ما ، که خداوند طاعتشان دهد. در عهد ما وفادار و همدل بودند، هرگز دیدار ما (ظهور) به تاخیر نمی افتاد.(کدام عهد ؟)
-
پاسخ : مشکل وقتی کریستال رو می برم بالا همه چیزم به هم می ریزه ؟؟؟؟؟
سلام.
دوست عزیز اون چیزایی که شما گفتی، همشون به طور مستقیم به کلاک ربط دارن.
وقتی شما داخل برنامه تون کلاک رو مثلا 11 مگ میزارین، کامپایلر تمام محاسبات Delay، شمارنده ها و زمان های مورد نیاز برای SH و تبدیل AD را برمبنای 11 مگاهرتز انجام میدهد. و وقتی که شما فرکانس کریستال رو تغییر میدین، تمام این پارامترها تغییر میکنن.
اگر میخواین فرکانس کریستال رو تغییر ببرین، باید در کد میکرو هم کلاک (Fosc) رو تغییر بدین و دوباره کامپایل کنین.
در مورد AD، اگه عملیات تبدیل رو با رجیسترها انجام میدین (یعنی از کدهای کامپایلر استفاده نمیکنین) باید به TACQ و TAD توجه خاص مبذول نمایید :biggrin: در غیر اینصورت خروجی AD رو نادرست درخواهید یافت!
خویشتن را اصلاح کنید تا خداوند کارها را اصلاح کند. امیر المومنین علی (ع)
دیدگاه
-
پاسخ : مشکل وقتی کریستال رو می برم بالا همه چیزم به هم می ریزه ؟؟؟؟؟
سلام
درسته
اونی که من گفتم برای موقعیه که حالا نسبت به امکاناتی از قبیل تنظیم کلاک یا پریاسکیلر نیست و گرنه برای نکاتی که شما گفتید قابل حله :biggrin:امام مهدی(عج): اگر شیعیان ما ، که خداوند طاعتشان دهد. در عهد ما وفادار و همدل بودند، هرگز دیدار ما (ظهور) به تاخیر نمی افتاد.(کدام عهد ؟)
دیدگاه
-
پاسخ : مشکل وقتی کریستال رو می برم بالا همه چیزم به هم می ریزه ؟؟؟؟؟
فیوز بیت اسیلاتورتون رو رو 20 مگا هرتز تنظیم میکنید دوست عزیز؟ با این دستور
#use delay (crystal=20Mhz)
راستی وقتی کریستال عوض میکنید اگر کلاک تایمر 1 از اسیلاتور داخلی گرفته شده باشه باید دوباره محاسبه کنید مقدار اولیه تایمر و بعد در رجیسترش بزارید
دیدگاه
-
پاسخ : مشکل وقتی کریستال رو می برم بالا همه چیزم به هم می ریزه ؟؟؟؟؟
سلام
من همه کامپایلر های pic رو دانلود کردم ونصب کردم mikro basic و mikro c و ccs و mplab id and mplab x c18 با هر کدومش یخورده ای کار کردم
اما میخواستم بدونم کدومشون از نظر کتابخانه و مثال ها تو اینترنت و جا های دیگه بیشتر هست یعنی با کدومش بیشتر کار میشه؟
امام مهدی(عج): اگر شیعیان ما ، که خداوند طاعتشان دهد. در عهد ما وفادار و همدل بودند، هرگز دیدار ما (ظهور) به تاخیر نمی افتاد.(کدام عهد ؟)
دیدگاه
-
پاسخ : مشکل وقتی کریستال رو می برم بالا همه چیزم به هم می ریزه ؟؟؟؟؟
نوشته اصلی توسط mohammad_sthسلام به دوستان و مهندسان عزیز یک مشکل برای من پیش اومده اونم اینه که وقتی سرعت کریستالم رو از 11 مگاهرتز به 20 مگاهرتز می برم همه چیزم به هم می ریزه مثل adc و شمارنده و delay و ... می خواستم بدونم مشکل از چیه ، برنامه ام رو با ccs می نویسم مدل میکرومم pic18f4620
در تنظیمات فیوز بیت ها دقت فرمایید که احیانا PLL را روشن نکرده باشید ، زیرا مقدار نهایی فرکانس تولیدی توسط کریستال 20MHz و فعال بودن PLL خارج از رنج استاندارد این میکرو می باشد.
دیدگاه
دیدگاه