با سلام خدمت دوستان . من دربدر بدنبال الگوریتم پروگرم کردن میکرو ، یا ارسال دیتا به MMC از طریق کامپیوتر هستم. زبان برنامه نویسیم دلفیه. بیشتر میخوام بدونم وقتی یه فایل هگز رو باز کردیم و خط به خط خوندیم ، حالا به هر عددی که رسیدیم و میخوایم اونو ارسال بکنیم چه رابطه ای با پینهای MISO، MOSI، RST، SCK برقرار کنیم ؟ :cry: :angry:
اطلاعیه
Collapse
No announcement yet.
الگوریتم ارسال دیتا به میکرو
Collapse
X
-
پاسخ : الگوریتم ارسال دیتا به میکرو
سلام
این MOSI ... اینا پروتکل SPI هست اینجا گفته چطوری کار میکنه
http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus
وقتی که میکرو می خواد پروگرام بشه باید روی ریست باشه که اینم وقتی می خوای پروگرم کنی RST صفر میشه بعد دیتا با همون SPI بهش ارسال میشه :biggrin:
-
پاسخ : الگوریتم ارسال دیتا به میکرو
با سلام خدمت جنابShahi ، و با سپاس از توجهتون.اجازه بدین من کمی ساده تر مشکلمو خدمتتون برسونم . شما تابلوی روان رو از بازار خریدین و آوردین و مثلا پیامی روی اون قرار دادین و اون هم داره مرتب کار میکنه و پیام شما رو نشون میده ، حالا بعد از مدتی خواستین متن پیامتون رو تغییر بدین . ، میرین روی نرم افزارش و متن دلخواهتون رو توی اون مینویسین و effect هاشم میدین و کابل و وصل میکننین و دکمه ارسال رو میزنین . مشکل من اینجاست که از نظر نرم افزاری چه اتفاقی موقع زدن دکمه ارسال رخ میده ؟
دیدگاه
-
پاسخ : الگوریتم ارسال دیتا به میکرو
اول باید بدونید از چه interface استفاده میشه ولی از این قرار معلومه که میدونید و spi است
بافرض اینکه نوع ارتباط صحیح باشه پیش میریم
این نوع ارتباط با سیم های
MISO = master in ,slave out
MOSI = master out ,slave in
وکلاک و...
ابتدا اطلاعات در پورت mosi بارگذاری میشه و یک کلاک داده میشود و اطلاعات فرستاده میشه
ولی مشکل شما جای دیگه است این که چه اطلاعاتی فرستاده میشه و با چه قالبی
این سوال هم که به این راحتی ها نمیشه جواب داد
مثل اینکه نمیدونی دوتا آدمی که روبه روت هستند با چه زبانی حرف میزنند
و راحتترین راه این است که از کسی که این زبان را میشناسد بپرسی
و برای شما باید با متخصصین اون شرکتی که ساخته صحبت کنی
اما یک روشی که معمولا هکرهای ایرانی استفاده میکنند این است که آن قدر پشت خط گوش میکنند و سیگنال ها را تحلیل میکنند تا به
الگریتم خاصی برسند
اما با توجه به اینکه تابلو روان است این کار بسیار سخت میشود
امیدوارم تونسته باشم کمکی کرده باشم
دیدگاه
-
پاسخ : الگوریتم ارسال دیتا به میکرو
جناب Shahi هدف من دقیقا باز کردن نرم افزاری مطالبی هستش که شما در خطوط 5 تا 9 پاسختون اشاره کردین . مهم نیست که با چه interface ی میخواهیم این کارو بکنیم ، مهم الگوریتم این کار هست ، مثلا ما میخواهیم سه تا عدد 120 ، 100 ، 36 رو از این طریق ارسال بکنیم ، اینو جایی دیدم که اطلاعات بصورت بیتی باید ارسال بشه ، حالا شما یا هر دوست عزیز دیگری که از این موضوع مطلع هست ، بفرمایید که مثلا اول پین RST رو فعال میکنیم تا طرف slave در مد input قرار بگیره ، بعد مثلا عدد 120 رو با توابعی بشکل بیت درآورده و بیت به بیت از طریق MOSI ارسال میکنیم حالا روال این ارسال و محل فعالیت SLK رو میخوام بدونم.
دیدگاه
-
پاسخ : الگوریتم ارسال دیتا به میکرو
منظورت رو از RST نفهمیدم البته اگر ریست باشه که ما با اون کاری نداریم
ولی به روند زیر گوش کن
MISO MOSI
SCK = SPI Clock
SS = slave select
ss به صورت active low است پس ابتدا باید برای ارسال به طرف مقابل باید آن را low یا همون Gnd کنیم
چون میخواهیم به میکرو مقابل اطلاعات بفرستیم پس از پایه MISO کاری نداریم (ما master و میکرو مقابل slave است)
یعنی اینکه ما ورودی نداریم و میکرو مقابل خروجی ندارد
پس فقط با پایه ی MOSI کار میکنیم
ss را که low کردیم میکرو برای ارسال اطلاعات انتخاب میشود
سپس بیتی را روی پایه ی MOSI میکرو قرار میدهیم و یک بار به پایه ی SCK کلاک میدهیم
البته کلاک هم باید ویژگی هایی داشته باشد
باید در میکرو مقابل تنظیمات کلاک را بررسی کنیم
کلاک به دو صورت است یا Idel = hi یا Idel = low است که وارد جزییات طریقه ی انتخاب آن در رجیسترها نمی شوم
Idel = hi یعنی انکه پایه ی SCK همواره ۱ است و موقع کلاک چند لحظه صفر شده و دوباره ۱ میشود
و idel = low برعکس این است یعنی انکه پایه ی SCK همواره صفراست و موقع کلاک چند لحظه ۱ شده و دوباره صفر میشود
این طریقه ۸ بار انجام میشود تا یک بایت فرستاده شود
اگر جایی سوال دارید مطرح کنید
دیدگاه
-
پاسخ : الگوریتم ارسال دیتا به میکرو
سلام جناب Shahi ، از مرحمت شما بسیار ممنونم . کم کم داره مشکل من حل میشه فقط یه چند تا سئوال دیگه :
1 – اینکه فرمودین کلاک باید تنظیمات خاصی داشته باشه ، اونو توضیح بدین لطفا
2 - از کجا میشه فهمید که Idel رو باید اول Low کرد یا High . آیا تو دیتا شیت میکرو چیزی راجع به این نوشته میشه ؟ یا اینکه بشکل آزمون و خطا بیاییم اول یک حالتو در نظر بگیریم و در صورت عدم پاسخ حالت دیگه رو امتحات کنیم ؟
3 - و مهمترین قسمت سئوال اینکه بعد از اتمام بک بایت چه جوری میریم سر بایت بعدی
دیدگاه
دیدگاه